我们如何,或者我们可以通过使用公共管理节点模块与流星 ?
或者是东西,将依赖于包装API ?
或者是有没有建议规定的方法是什么?
我们如何,或者我们可以通过使用公共管理节点模块与流星 ?
或者是东西,将依赖于包装API ?
或者是有没有建议规定的方法是什么?
流星1.3 ,于2016年3月28日,发布给应用程序完全ES6(ES2015)模块的支持和开箱NPM支持。 应用程序和包现在可以直接方便地加载在客户端和服务器上的NPM模块。
如果你可以用1.3,然后检查http://guide.meteor.com/using-packages.html#installing-npm 。
例如,使用moment.js:
meteor npm install --save moment
然后在你的代码:
import moment from 'moment';
// this is equivalent to the standard node require:
const moment = require('moment');
如果您需要使用流星的旧版本,请阅读下面的答案的其余部分。
预流星1.3:
由于v0.6.0,流星与NPM模块直接集成与第三方包的帮助。 例如,为了使用一个模块等ws
,
sudo npm install -g ws
(或本地安装,看到这个 ) 在您的服务器的JavaScript文件,
var Websocket = Npm.require('ws'); var myws = new Websocket('url');
使用核心节点模块,只是使相应Npm.require()
调用,例如var Readable = Npm.require('stream').Readable
。
你可以使用任何超过23万个NPM模块直接与流星感谢NPM包通过Arunoda开发。
您也可以从智能包定义上NPM包的依赖-从最初公布的NPM支持:
你的智能包现在可以直接定义依赖,加入到呼叫Npm.depends
在package.js
:
Npm.depends({
"awssum": "0.12.2",
"underscore.string": "2.3.1"
});
所有这一切都与热代码重载工作得很好,就像流星的其余部分。 当你做出改变,所述捆绑会自动下载缺少的NPM包和重新针它的依赖。
要使用服务器代码内的NPM模块,使用Npm.require
,你通常会使用简单的require
。 值得注意的是, __meteor_bootstrap__.require
已经被淘汰,所有的用途都被转换为Npm.require
。
有用户在使用的NPM模块的一个小例子 。
需要注意的是这个答案适用于流星之前的版本0.6.0,它发布于2013年4月,并加入直接
npm
整合
安装,你通常会通过模块npm
,然后用
var require = __meteor_bootstrap__.require,
pd = require("pd"),
after = require("after") // etc
加载任何你想要的模块
我做了这个就Meteorpedia一个完整的写了起来:
http://www.meteorpedia.com/read/npm
本文介绍如何使用NPM在这两个您的应用程序和/或套餐,并为包装定期回调和事件emmitter回调流星和纤维正常工作常用模式,而且包括对Arunoda的异步公用事业和其他资源的引用。
您可以使用流星NPM包
meteor add meteorhacks:npm
然后创建一个packages.json
在项目的根目录与新公共管理模块的信息文件。
{
"redis": "0.8.2",
"github": "0.1.8"
}
然后一样简单(服务器端)
var github = Meteor.npmRequire("github");
var redis = Meteor.npmRequire("redis");
所以,你只需要使用Meteor.npmRequire
,而不是require
我写了一篇关于如何做到这一点的流星0.6.5,的要点如何Node.js的国家防范机制添加到您的Meteor.js项目 。
我使用这样一个脚本这很好地安装所有Node.js的依赖关系。 它的行为类似于流星引擎分支(它安装在运行时依赖)的官方支持,但它也支持从安装的Git仓库和类似的东西。