【发布时间】:2014-02-25 07:11:47
【问题描述】:
我正在尝试让一个废弃的 nodejs 库在 Meteor 下工作。
为什么Npm.require('./crypto-js/crypto') 工作正常,但Npm.require('../convert') 抛出错误Error: Cannot find module '../convert'?
/packages/myPackage/package.js
Package.on_use(function (api) {
var path = Npm.require('path');
api.add_files(path.join('convert.js'), 'server');
api.add_files(path.join('crypto-js', 'crypto.js'), 'server');
api.add_files(path.join('util.js'), 'server');
});
/packages/myPackage/convert.js
myFunc = function() {
return true
}
/packages/myPackage/util.js
Crypto = Npm.require('./crypto-js/crypto');
/packages/myPackage/crypto-js/crypto.js
var conv = Npm.require('../convert')
【问题讨论】:
-
convert.js 所在目录中缺少 package.json 文件?编辑:Npm.require('../convert.js') 工作吗?
-
@Dave 我在与
convert.js相同的目录中有一个package.js,还需要package.json吗?尝试Npm.require('../convert.js'),但得到错误Error: Cannot find module '../convert.js' -
假设您将目录命名为 convert 或文件 convert.js,我认为这不是必需的。如果 Npm.require('../convert.js') 不起作用,并且 ../ 中有一个 convert.js 文件,那么 Meteor 没有像 Node 那样实现 require。
-
使用那个废弃的库而不是 Atmosphere 上的 crypto* 包有什么特别的原因吗?我重新打包了sha1、base64等,很容易克隆my GitHub repo并添加更多功能。
标签: javascript node.js meteor npm