我使用的是jspm 0.16.2。
我正在使用此test project
当我将Transpiler设置为none时:transpiler: "none"
我收到错误XHR error (404 Not Found) loading http://localhost:53404/none.js
如果我将转换器设置为'test',它会给出相同的错误,除了它查找test.js
这是jspm的错误吗?
我想不使用transpiler,但使用system.js加载AMD模块。
当我从config.js中删除了transpiler选项时,它会尝试加载Traceur。
我想在运行时没有运行Transpiler。
答案 0 :(得分:8)
我们不清楚你要做什么。如果您使用ES2015功能(例如ES2015模块,let
等),那么您需要转换器。如果您编写的代码没有ES2015功能,则不会加载任何转换器。您可以通过将ES5代码放入main.js
并检查调试器的“网络”选项卡来进行检查。 1}}将不会被下载。
您在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
)和拿它。当然,对于任何字符串,例如none
或test
,它都不存在。如果您没有指定任何内容,则默认为traceur
。
如果您尝试避免客户端转换,您可以选择通过jspm bundle
转发服务器端。
对于仅使用ES5和AMD而不进行转换的代码,请检查上述repo的no-transpile
分支。请注意,即使browser.js
仍设置为transpile
,也不会下载"babel"
。