Meteor 1.3于2016年3月28日发布,为应用程序提供完整的ES6(ES2015)模块支持和开箱即用的NPM支持.应用程序和软件包现在可以直接轻松地在客户端和服务器上加载NPM模块.
如果你能使用1.3,那么 Select http://guide.meteor.com/using-packages.html#installing-npm.
例如,利用瞬间.js:
meteor npm install --save moment
然后在代码中:
import moment from 'moment';
// this is equivalent to the standard node require:
const moment = require('moment');
如果你需要使用旧版本的Meteor,请阅读下面剩下的答案.
Pre-Meteor 1.3:
第三方软件包的帮助.例如,要使用ws
这样的模块,
sudo npm install -g ws
(或本地安装,请参阅this)在你的服务器JavaScript文件中,
var Websocket = Npm.require('ws');
var myws = new Websocket('url');
要使用核心 node 模块,只需进行相应的Npm.require()
次调用,例如var Readable = Npm.require('stream').Readable
.
多亏了阿鲁诺达开发的NPM package,你可以直接在Meteor上使用230,000 NPM modules多个选项中的任何一个.
您还可以从智能软件包中定义对Npm软件包的依赖关系——从the initial announcement个Npm支持中:
您的智能包现在可以通过在package.js
中添加对Npm.depends
的调用来直接定义依赖项:
Npm.depends({
"awssum": "0.12.2",
"underscore.string": "2.3.1"
});
所有这些都可以很好地与热代码重新加载一起工作,就像Meteor的其他部分一样.当您进行更改时,Bundle 程序将自动下载丢失的npm包,并重新绑定其依赖项.
要在服务器代码中使用NPM模块,请像通常使用普通require
一样使用Npm.require
.值得注意的是,__meteor_bootstrap__.require
个已被淘汰,其所有用途已改为Npm.require
个.
有a small example of using an NPM module in your application个.