【发布时间】:2015-11-08 16:31:34
【问题描述】:
我正在使用 Gulp、Babelify 和 Browserify 将 ES2015 编译成 ES5。
文件夹结构:
project
- js
- level.js
- main.js
如果我有以下定义的模块:
// level.js
var level = [];
level[0] = {
name: 'level1',
grid: {
width: GRID_WIDTH,
height: GRID_HEIGHT
}
};
export default level;
然后我有了我的主要 JavaScript 文件:
// main.js
import level from './level.js';
var siteGame = (function() {
var GRID_WIDTH = 50,
GRID_HEIGHT = 50;
console.log(level);
}());
如何确保 GRID_WIDTH 和 GRID_HEIGHT 在 level.js 中可用?
目前我收到一个错误,提示 GRID_WIDTH 未定义(来自 level.js)
【问题讨论】:
-
简单地说,你不知道。如果你真的需要,可以将 Webpack 与 DefinePlugin 一起使用,但最好以不同的方式解决这个问题,例如 requires。
-
为什么在
main.js中将这些变量设置为 IIFE 的本地变量?您是否打算将它们保密,是否打算使用多个不同的值(在多个范围内)?
标签: javascript ecmascript-6 browserify babeljs