【发布时间】:2014-12-05 17:06:57
【问题描述】:
在 Node 中,您可以使用以下方式 require 本地模块:
var myModule = require('./lib/mymodule.js');
是否可以用 Meteor 做类似的事情?
【问题讨论】:
标签: javascript node.js meteor
在 Node 中,您可以使用以下方式 require 本地模块:
var myModule = require('./lib/mymodule.js');
是否可以用 Meteor 做类似的事情?
【问题讨论】:
标签: javascript node.js meteor
这里有一个简单的例子让你开始:
让我们从 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"。
【讨论】:
var myModule = require('./lib/mymodule.js'); 变成 `import myModule from './lib/mymodule.js';但是如果你希望你的模块也可以在 Meteor 包中访问,那么让它完全作为一个 npm 模块工作会很好