我正在尝试让一个废弃的 Nodejs 库在 Meteor 下工作。
为什么Npm.require('./crypto-js/crypto')
工作正常,但Npm.require('../convert')
抛出错误错误:找不到模块'../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')
最佳答案
已经在 IRC 上回答了这个问题,但在此发布以供引用。
作者想使用 GitHub 上托管的 npm 模块的分支。要从某些存储库和某些提交导入 npm 模块,我们可以使用 GitHub 的 tarball url。
- 在/packages/package-name 中创建智能包
- 在/packages/package-name/package.js 中描述包、添加文件、导出变量
将
Npm.depends
添加到 package.js 文件,如下所示:Npm.depends({'NPM-MODULE-NAME': "https://github.com/REPOAUTHOR/REPONAME/tarball/COMMIT-SHA1 "});
在智能包的一个文件中执行
ExportSymbol = Npm.require('NPM-MODULE-NAME')
- 导出导出符号
关于javascript - Meteor Npm.require() 在父目录中找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21499588/