在Meteor中调用NodeJS模块或者自己的模块

在Meteor框架开发中,由于国内资料较少,往往需要借助StackOverflow等国外资源解决问题。本文介绍了如何在Meteor应用中调用NodeJS模块。首先,不能直接在根目录按常规方式创建模块。然后,通过创建自定义包来实现模块化,具体步骤包括创建`package.json`文件、在`lib`文件夹中编写NodeJS函数,最后将包复制到Meteor的`node_modules`目录下。启动应用后,即可在Meteor中正常使用这些模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于NodeJS的Meteor框架,国内使用的还比较少,遇到问题 很麻烦 难以在国内找到答案,本篇文章通过 http://stackoverflow.com/questions/tagged/meteor 找到资料总结而成。

尊重劳动成果 转载请注明。

在Meteor中,创建一个应用后 ,不能直接应用根目录下 写nodeJS应用中那样的模块。如

新建一个文件interface.js 

exports.hello = function(){
  console.log("Hello");
}

然后运行应用会报错。原因大概是因为Meteor封装了底层nodejs,无法直接使用nodejs的语法如exports,require等。


需要使用nodejs的模块

在Meteor 这样获取require

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup
    var require = __meteor_bootstrap__.require;
    var fs = require('fs');
    var url = require('url');
    //url.parse(..)  do something
    .....
  });
}

如果是自己的模块,则需要这样做(我不知道其他的方法了,需要更简单的方法 可以上 http://stackoverflow.com 寻找)

建立自己的包

例子:

创建一个文件夹  somepackage

在 somepackage 中创建一个 lib文件夹

在somepackage中创建一个package.json文件

lib文件下创建一个interface.js文件

这里就可以写 普通NodeJS的函数文件了,这里写段简单的代码

exports.hello = function(){
  console.log("Hello");
}


package.json中的内容:

{"main":"./lib/interface.js"}
(关于包的创建 具体规范 可以google 'CommonJS',这里的package.json简洁  只为了方便而已)

复制somepackage 文件夹到 /usr/lib/meteor/lib/node_modules文件夹下(这里是Ubuntu的系统为例,Windows请自行砸umeteor安装目录下查找相对应文件夹)


然后在Meteor中这样使用

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup
    var require = __meteor_bootstrap__.require;
    var somepackage = require('somepackage');
    somepackage.hello();
  });
}


启动Meteor应用,可以在终端看到运行结果。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值