13

I am using jspm 0.16.2.

I am using this test project

When I set the Transpiler to none: transpiler: "none"

I get an error XHR error (404 Not Found) loading http://localhost:53404/none.js

If I set the transpiler to 'test' it gives the same error, except for it looks for test.js

Is this a bug with jspm?

I wanted to not use a transpiler, but use system.js to load AMD modules.

When I removed the transpiler option from config.js, then it tries to load Traceur.

I would like to not have a Transpiler running at runtime.

4

1 回答 1

8

目前尚不清楚您要做什么。如果您使用 ES2015 功能(例如 ES2015 模块let,等等),那么您需要转译器。如果您编写的代码没有 ES2015 功能,则不会加载任何转译器。您可以通过将 ES5 代码放入main.js并检查调试器的 Network 选项卡来检查这一点。browser.js不会被下载。

您输入的字符串transpiler实际上System.config就是转译器文件本身。在 的情况下"babel",它被映射到npm:babel-core@5.8.3(从map字段),当与path字段结合时引用jspm_packages/npm/babel-core@5.8.3然后在该目录中,文件.jspm.json将入口点指向 browser.js,这是客户端转译器文件本身。

无论您设置什么字符串transpiler,jspm 都会设置System为指向它(baseURL如果您没有映射它,路径将只是)并获取它。当然,它不存在任何任意字符串,例如noneor test。如您所见,如果您未指定任何内容,则默认值为traceur.

jspm bundle如果客户端转译是您要避免 的,您确实可以选择转译服务器端。

对于仅使用 ES5 和 AMD 的代码,无需转译,请查看no-transpile上述 repo 的分支。请注意,browser.js即使transpile仍设置为"babel".

于 2015-09-09T15:09:01.740 回答