我想添加desandro/masonry进入我的 meteor 项目。但没有适合我的 meteor 包,所以我想创建一个。
这是package.js
'use strict';
var packageName = 'masonryjs:masonry';
Package.describe({
name: packageName,
summary: 'Masonryjs. cascading grid layout library',
version: '1.1.0',
git: 'https://github.com/desandro/masonry'
});
Package.onUse(function (api) {
api.versionsFrom(['METEOR@0.9.0', 'METEOR@1.0']);
api.export('masonry');
api.addFiles([
'masonry.pkgd.js',
'export.js'
]);
});
导出.js
masonry = this.masonry;
delete this.masonry;
该包已添加,但是当我运行我的 meteor 应用程序时,我收到此错误
W20150121-21:50:29.788(5.5)? (STDERR)/home/nipun/.meteor/packages/meteor-tool/.1.0.40.1d3bp9e++os.linux.x86_32+web.browser+web.cordova/meteor-tool-os.linux.x86_32/dev_bundle/服务器库/node_modules/fibres/future.js:173 W20150121-21:50:29.788(5.5)? (STDERR)抛出(前); W20150121-21:50:29.788(5.5)? (标准错误)^ W20150121-21:50:29.824(5.5)? (STDERR)ReferenceError:窗口未定义 W20150121-21:50:29.824(5.5)? (STDERR) 在 masonry (packages/masonryjs:masonry/masonry.pkgd.js:147:1) W20150121-21:50:29.824(5.5)? (STDERR)位于/home/nipun/development/web/mason/.meteor/local/build/programs/server/packages/masonryjs_masonry.js:2980:4 W20150121-21:50:29.824(5.5)? (STDERR)位于/home/nipun/development/web/mason/.meteor/local/build/programs/server/packages/masonryjs_masonry.js:3008:3 W20150121-21:50:29.824(5.5)? (STDERR)位于/home/nipun/development/web/mason/.meteor/local/build/programs/server/boot.js:205:10 W20150121-21:50:29.825(5.5)? (STDERR) at Array.forEach( native ) W20150121-21:50:29.825(5.5)? (STDERR) 位于 Function..each..forEach (/home/nipun/.meteor/packages/meteor-tool/.1.0.40.1d3bp9e++os.linux.x86_32+web.browser+ web.cordova/meteor-tool-os.linux.x86_32/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11) W20150121-21:50:29.825(5.5)? (STDERR)位于/home/nipun/development/web/mason/.meteor/local/build/programs/server/boot.js:116:5
最佳答案
如果您不希望在 window
不可用的服务器上使用此包,则:
api.addFiles([ 'masonry.pkgd.js', 'export.js' ], 'client');
api.export('masonry', 'client');
关于javascript - 重新包装 meteor 的 masonry 会出现错误 "ReferenceError: window is not defined ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28072366/