为什么 SystemJS 正在寻找 source-map-support.js?
Why is SystemJS is looking for source-map-support.js?
我的整个设置在这里:
https://github.com/jordymeow/meowbs-2016
我相信它很干净,但并不完美。实际上,它可以工作,但在 index.html 文件中,尝试切换这些注释:
//System.import('./app/app');
System.import('./src/app.ts');
基本上,我们可以直接加载 app.ts 而不是使用编译后的 JS(由 Atom 编辑器自动执行),但这不起作用。 SystemJS 正在寻找 "source-map-support.js" 但失败了。我不确定为什么我需要这种依赖性,我相信我有一个配置问题(或许多问题)。
您可能还会在这个项目中看到很多错误 ;) 不要犹豫,告诉我。
感谢您的帮助。
在 typescript 2.1 中,他们添加了对 source-map-support 的可选依赖 - typescript.js 中有这个函数:
tryEnableSourceMapsForHost: function() {
try {
require('source-map-support').install();
} catch (e) {}
},
但是,SystemJS 无法检测到它是可选的 - 为了使 require
在浏览器中工作,它扫描源代码以进行 require
调用,尝试加载所有必需的模块,并且失败。
您可以安装 source-map-support 模块,或者您可以通过将此行添加到 map
来简单地将其映射到 jspm.config.js 中的 special module named @empty
:
"source-map-support": "@empty",
然后你还需要添加defaultExtension: 'ts'
到src
包配置,否则import { AppModule } from "./app.module";
会尝试加载app.module.js
。
总的来说,jspm.config.js中改变的片段看起来像
"src": {
"defaultExtension": "ts",
"meta": {
"*.ts": {
"loader": "plugin-typescript"
}
}
}
},
map: {
"source-map-support": "@empty",
我的整个设置在这里: https://github.com/jordymeow/meowbs-2016
我相信它很干净,但并不完美。实际上,它可以工作,但在 index.html 文件中,尝试切换这些注释:
//System.import('./app/app');
System.import('./src/app.ts');
基本上,我们可以直接加载 app.ts 而不是使用编译后的 JS(由 Atom 编辑器自动执行),但这不起作用。 SystemJS 正在寻找 "source-map-support.js" 但失败了。我不确定为什么我需要这种依赖性,我相信我有一个配置问题(或许多问题)。
您可能还会在这个项目中看到很多错误 ;) 不要犹豫,告诉我。
感谢您的帮助。
在 typescript 2.1 中,他们添加了对 source-map-support 的可选依赖 - typescript.js 中有这个函数:
tryEnableSourceMapsForHost: function() {
try {
require('source-map-support').install();
} catch (e) {}
},
但是,SystemJS 无法检测到它是可选的 - 为了使 require
在浏览器中工作,它扫描源代码以进行 require
调用,尝试加载所有必需的模块,并且失败。
您可以安装 source-map-support 模块,或者您可以通过将此行添加到 map
来简单地将其映射到 jspm.config.js 中的 special module named @empty
:
"source-map-support": "@empty",
然后你还需要添加defaultExtension: 'ts'
到src
包配置,否则import { AppModule } from "./app.module";
会尝试加载app.module.js
。
总的来说,jspm.config.js中改变的片段看起来像
"src": {
"defaultExtension": "ts",
"meta": {
"*.ts": {
"loader": "plugin-typescript"
}
}
}
},
map: {
"source-map-support": "@empty",