是的。关于同步方面,还有什么方法可以做到干净呢?@SirGalahad:你可能低估了现代web应用或网站使用的javascript数量。对于一个爱好网站来说,这可能没什么问题,但这在制作中是不可用的。在过去的5年里,我工作的网站平均加载了超过1MB的jav

是的。关于同步方面,还有什么方法可以做到干净呢?@SirGalahad:你可能低估了现代web应用或网站使用的javascript数量。对于一个爱好网站来说,这可能没什么问题,但这在制作中是不可用的。在过去的5年里,我工作的网站平均加载了超过1MB的jav,javascript,node.js,node-modules,Javascript,Node.js,Node Modules,是的。关于同步方面,还有什么方法可以做到干净呢?@SirGalahad:你可能低估了现代web应用或网站使用的javascript数量。对于一个爱好网站来说,这可能没什么问题,但这在制作中是不可用的。在过去的5年里,我工作的网站平均加载了超过1MB的javascript。阻止javascript加载将使网站结巴。当你的网站在twitter或Arstechnicanic上被提及时,情况会更糟!是的,这确实是一个非常有用的图书馆。非常感谢。@SirGalahad:Browserify工作的原因是它不


是的。关于同步方面,还有什么方法可以做到干净呢?@SirGalahad:你可能低估了现代web应用或网站使用的javascript数量。对于一个爱好网站来说,这可能没什么问题,但这在制作中是不可用的。在过去的5年里,我工作的网站平均加载了超过1MB的javascript。阻止javascript加载将使网站结巴。当你的网站在twitter或Arstechnicanic上被提及时,情况会更糟!是的,这确实是一个非常有用的图书馆。非常感谢。@SirGalahad:Browserify工作的原因是它不是一个库(你的方法)。这是一个编译器。它将所有模块编译成一个文件!是的,这确实是一个非常有用的图书馆。非常感谢。@SirGalahad:Browserify工作的原因是它不是一个库(你的方法)。这是一个编译器。它将所有模块编译成一个文件
setInterval
不在自己的线程中运行代码。你需要网络工作者,谢谢你指出,我对这个事实相当无知。在这一点上,网络工作者似乎也不是普遍可用的,所以我可能需要在这里重新思考我的策略。回到旧的绘图板…
setInterval
不会在自己的线程中运行代码。你需要网络工作者,谢谢你指出,我对这个事实相当无知。在这一点上,网络工作者似乎也不是普遍可用的,所以我可能需要在这里重新思考我的策略。回到旧的绘图板上。。。
/*
    A client-side script loading class designed to be compatible with node.js
*/

function require(filename)
{
    try
    {
        var
            script = null,
            ajax = new XMLHttpRequest(),        
            index = filename.toLowerCase().indexOf('.js');
        if(index <= 0 || index != filename.length - 3)
            filename += '.js';
        ajax.onload = function() 
        { 
            script = this.responseText;
        };  
        ajax.open('GET', filename, false);
        ajax.send();
        return _isolate_script_(script);
    }
    catch(error)
    {
        return null;
    }
}   

function _isolate_script_(_script_)
{   
    return (new Function
    (
        'var exports = {}, module = {exports : null}; ' 
        + _script_ + 
        '; return module.exports || exports;'
    )).call();
}
/*
    Example of a multiple-class export file
*/

exports.metallic = function(value)
{
    return (Math.sqrt(4 + value * value) + value) / 2;
}

exports.inverse_metallic = function(value)
{
    return exports.metallic(-value);
}
function main()
{
    var
        example = require('example');
    if(example != null)
    {   
        var
            value = Math.floor(Math.random() * 100) + 1;
        alert
        (
            'example.metallic(' + value + ') = ' + example.metallic(value) 
            + '\n' + 
            'example.inverse_metallic(' + value + ') = ' + example.inverse_metallic(value)
        );
    }
    else
        alert('Error: cannot load "example"');
}
<!DOCTYPE html>
<html>
    <head>
        <script src = 'require.js'></script>
        <script src = 'main.js'></script>
    </head>
    <body onload = "main()"></body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <script src = 'require.js'></script>
        <script src = 'main.js'></script>
    </head>
    <body onload = "setInterval(main)"></body>
</html>