【问题标题】:Is it possible to use local (unpublished) Node modules in meteor apps?是否可以在流星应用程序中使用本地(未发布)节点模块?
【发布时间】:2014-12-05 17:06:57
【问题描述】:

在 Node 中,您可以使用以下方式 require 本地模块:

var myModule = require('./lib/mymodule.js');

是否可以用 Meteor 做类似的事情?

【问题讨论】:

    标签: javascript node.js meteor


    【解决方案1】:

    这里有一个简单的例子让你开始:

    让我们从 npm 安装下划线作为我们的应用服务器目录中的本地节点模块:

    cd server
    npm install underscore
    

    然后在server/startup.js 中输入以下代码:

    var underscoreLatest=Npm.require(process.cwd()+"/app/server/node_modules/underscore/underscore.js");
    
    Meteor.startup(function(){
      // will display "1.7.0" as of december 2014
      console.log(underscoreLatest.VERSION);
    });
    

    所以基本上你需要使用Npm.require 而不是require 并且你必须小心Meteor Node.JS 进程的当前工作目录不是你的Meteor 项目目录的根目录,而是".meteor/local/build/programs/server"

    【讨论】:

    • Meteor 1.3 有更新的答案吗?我知道你现在可以使用 import 所以 var myModule = require('./lib/mymodule.js'); 变成 `import myModule from './lib/mymodule.js';但是如果你希望你的模块也可以在 Meteor 包中访问,那么让它完全作为一个 npm 模块工作会很好
    猜你喜欢
    • 2015-10-30
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    相关资源
    最近更新 更多