在Browserify / 6to5ify中创建可由SystemJS使用的模块

时间:2015-02-05 00:15:00

标签: javascript browserify ecmascript-6 babeljs systemjs

我有四个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节点模块。我复制并粘贴了example

中的代码
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模块的依赖关系,就好像它们是本地依赖关系一样:

  

获取http://localhost:9000/client/board.js 404(未找到)   ES6模块-loader.src.js:2510

     

获取http://localhost:9000/client/card.js 404(未找到)   ES6模块-loader.src.js:2510

     

获取http://localhost:9000/client/game.js 404(未找到)   ES6模块-loader.src.js:2510

     

获取http://localhost:9000/client/player.js 404(未找到)   ES6模块-loader.src.js:2510

但是,我的构建文件的输出包含上面的模块,可以找到它here

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

0 个答案:

没有答案