我们如何或可以通过npm使用Meteor个 node 模块?

或者这将取决于包装API

还是有推荐的指定方法?

推荐答案

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这样的模块,

  1. 运行sudo npm install -g ws(或本地安装,请参阅this)
  2. 在你的服务器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个.

Node.js相关问答推荐

为高流量网站优化Node.js实时通知服务

利用Gemini:通过Vertex AI还是通过Google/generative-ai?

聚合发布/订阅消息

在编译时强制不缩小类型范围

FiRestore UPDATE方法引发错误:&Quot;错误:13内部:收到代码为1&Quot;的RST_STREAM

Sequelize、postgres和posgis:在n°;公里

如何从谷歌云中部署的应用程序连接到mongoDB Atlas?

一个大型的单个 Redis 实例可以处理所有事情,还是多个 Redis 实例?

为什么我的 Node.js 应用程序在登录时无法正确验证密码(使用 Passport-local 和 bcryptjs)?

Express.js cookie setter 的 Domain 属性:如何与 *多个 * 域共享 cookie?

如何使用 Puppeteer 从输入中删除现有文本?

带有加密的nodejs中的SALT和HASH密码

使用 pg-promise 进行多行插入

Node.js:socket.io 关闭客户端连接

webpack css-loader 在外部样式表的 url() 引用中找不到图像

为什么我会收到错误:解决方法指定过多?

如何从命令行在 Node.js 上运行 Jasmine 测试

如何在 MongoDB 中查询引用的对象?

NPM:为什么要安装这个包?

'node' 未被识别为内部或外部命令