4

我有四个 ES6 模块和一个暴露来自其他四个模块的数据的模块,如下所示:

export { Board } from './board';
export { Card } from './card';
export { Game } from './game';
export { Player } from './player';

我的目标是拥有一个可以通过 systemjs api 使用的 JavaScript 模块文件:

import { Card } from 'game';

递归计算和连接依赖关系的最佳方式似乎是通过 browserify,而从 ES6 编译到 ES5 的最佳方式是 6to5。所以,我查看了 6to5ify 节点模块。我复制并粘贴了示例中的代码:

var fs = require("fs"),
    browserify = require("browserify"),
    to5ify = require("6to5ify");

browserify({ debug: false })
  .transform(to5ify)
  .require("./src/main.js", { entry: true })
  .bundle()
  .pipe(fs.createWriteStream("./dist/game.js"));

最后,我将 game.js 加载到另一个 ES6 Web 项目中。但是,此时我收到错误,systemjs 模块加载器开始寻找 game.js 模块的依赖项,就好像它们是本地依赖项一样:

GET http://localhost:9000/client/board.js 404(未找到)es6-module-loader.src.js:2510

GET http://localhost:9000/client/card.js 404(未找到)es6-module-loader.src.js:2510

GET http://localhost:9000/client/game.js 404(未找到)es6-module-loader.src.js:2510

GET http://localhost:9000/client/player.js 404(未找到)es6-module-loader.src.js:2510

但是,我的构建文件的输出包括上面的模块,可以在这里找到。

由于问题可能出在browserify,使用6to5,systemjs加载模块的方式,或者它解析和读取构建文件内容的方式,我不确定在哪里看或问谁。

4

0 回答 0