我正在嘗試爲Meteor重新包裝Gibberish.js,到目前爲止沒有任何工作。該軟件包具有自己的npm依賴關係。我第一次嘗試加載它作爲一個git submodule。我在package.js過這樣的:如何將第三方軟件包導入Meteor?
Npm.depends({
"connect": "2.25.7",
"serve-static": "1.5.3",
"uglify-js": "2.4.15"
});
Package.onUse(function(api) {
api.versionsFrom('1.1.0.2');
api.addFiles('build/gibberish.js', ['client','server']);
});
這抱怨那Gibberish.init()
不是一個功能,所以我猜它沒有看到包。然後我意識到gibberish-dsp是它自己的npm包,所以我試圖通過npm包含它。我用這個:
package.js
Npm.depends({
"connect": "2.25.7",
"serve-static": "1.5.3",
"uglify-js": "2.4.15",
"gibberish-dsp": "2.3.2"
});
Package.onUse(function (api) {
api.addFiles([
'lib/gibberish.js',
], ['server']);
api.export([
'gibberish'
]);
的lib/gibberish.js:
juice = Npm.require('gibberish-dsp');
這給了它一個回調錯誤。我猜流星不能用第三方軟件包做回調?!所以我試着meteorhacks:npm
,這顯然修復了回調錯誤。我想這:
if (Meteor.isServer) {
console.log('server');
var gibberish = new Gibberish();
var init = Async.wrap(init);
gibberish.init();
}
});
和與我/包/文件夾,我的胡言亂語子模塊,我得到一個SyntaxError: Unexpected token Y
。
更新:SyntaxError指的是亂碼軟件包中的「錯誤的HTML」。顯然它試圖將它作爲Meteor HTML文件讀取(即沒有DOCTYPE等),我不想更改包中的每個文件!
我已經花了大約20個小時了。爲什麼加載外部庫非常困難?!?!我還可以做些什麼?我想喜歡流星,但我準備放棄。
是的我已經做到了:( –