Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 模块定义用于node.js、require.js和普通脚本标记_Javascript_Node.js_Requirejs - Fatal编程技术网

Javascript 模块定义用于node.js、require.js和普通脚本标记

Javascript 模块定义用于node.js、require.js和普通脚本标记,javascript,node.js,requirejs,Javascript,Node.js,Requirejs,我正在开发一个javascript模块/库,它应该可以在3种环境下工作: 在node.js中 在《还魂曲》中 当简单地将标签包含到网页中时。在这种情况下,整个模块应该连接在window.myModule下 对于如何编写库的结构以使其在所有这些环境中都能工作,您有什么建议吗 编辑:基本上我指的是库中的某种包装代码,这样我就可以从这三种方法中的任何一种调用文件,我很好…我想我们正在做同样的事情 我们取得了一些成功。我们有一个库(我们称之为“slib”),编译成amdjs文件。它不依赖于npm模块或浏

我正在开发一个javascript模块/库,它应该可以在3种环境下工作:

  • 在node.js中
  • 在《还魂曲》中
  • 当简单地将标签包含到网页中时。在这种情况下,整个模块应该连接在window.myModule下
  • 对于如何编写库的结构以使其在所有这些环境中都能工作,您有什么建议吗


    编辑:基本上我指的是库中的某种包装代码,这样我就可以从这三种方法中的任何一种调用文件,我很好…

    我想我们正在做同样的事情

    我们取得了一些成功。我们有一个库(我们称之为“slib”),编译成amdjs文件。它不依赖于npm模块或浏览器,因此可以从节点和浏览器调用它

    1) 要从节点调用它,我们使用requirejs:

    文件require.conf.js

    module.exports = function(nodeRequire){
        global.requirejs = require('requirejs');
    
        requirejs.config({
            baseUrl: __dirname+"/../web/slib/",
            paths: {
                slib: "."
    
            },
            nodeRequire: nodeRequire
        });
    }
    
    在任何其他服务器端(nodejs)文件中,我们在开头添加这一行

    require("./require.conf")(require);
    
    然后我们通过以下方式调用slib的代码:

    var Computation = requirejs("slib/Computation");
    
    2) 要从浏览器调用slib,我们只需使用requirejs。它处理一切都很好

    3) 我们不需要直接从