Javascript SystemJS:我在提供默认JS扩展时缺少了什么
不,我不是在构建angular2应用程序。 我正在试用SystemJS,这是我加载模块的脚本Javascript SystemJS:我在提供默认JS扩展时缺少了什么,javascript,systemjs,Javascript,Systemjs,不,我不是在构建angular2应用程序。 我正在试用SystemJS,这是我加载模块的脚本 <script type="text/javascript"> System.config({ baseURL: '/scripts/ts', map: { 'deck': 'deck'}, defaultJSExtensions: "js", defaultExtension: "js" }); System.import('deck').then(func
<script type="text/javascript">
System.config({ baseURL: '/scripts/ts',
map: { 'deck': 'deck'}, defaultJSExtensions: "js", defaultExtension: "js" });
System.import('deck').then(function () {
document.write("Loaded...");
});
</script>
System.config({baseURL:'/scripts/ts',,
映射:{'deck':'deck'},defaultJSExtensions:“js”,defaultExtension:“js”});
导入('deck')。然后(函数(){
文件。写入(“已加载…”);
});
以下是我收到的控制台消息
system.src.js:sourcemap:80 Uncaught (in promise) Error: Unexpected identifier Evaluating http://localhost:61968/scripts/ts/deck Loading deck
at eval (<anonymous>)
at evaluate (system.src.js:sourcemap:2821)
at system.src.js:sourcemap:3620
at dynamicExecute (system.src.js:sourcemap:1144)
at doEvaluate (system.src.js:sourcemap:1091)
at ensureEvaluate (system.src.js:sourcemap:999)
at system.src.js:sourcemap:617
at <anonymous>
system.src.js:sourcemap:80未捕获(承诺中)错误:意外标识符http://localhost:61968/scripts/ts/deck 装货甲板
评估时()
评估时(system.src.js:sourcemap:2821)
在system.src.js:sourcemap:3620
在dynamicExecute(system.src.js:sourcemap:1144)
在doEvaluate(system.src.js:sourcemap:1091)
在ensureEvaluate(system.src.js:sourcemap:999)
在system.src.js:sourcemap:617
在
看起来systemjs没有使用默认扩展名。如何修复此问题?
defaultJSExtensions
从0.20.0版起不再受支持。您可以在“删除对defaultJSExtensions
的支持”中看到它
defaultExtension
是选项中定义的包的参数,因此必须定义包才能使用它
考虑到您的映射也不是必需的,那么您应该使用如下内容:
{
baseURL: '/scripts/ts',
packages: {
// Yep, this defines a package with an empty name. This will
// encompass everything not encompassed by a more specific package
// name.
"": {
defaultExtension: "js"
},
},
}
实际上,这也会起作用:
{
baseURL: '/scripts/ts',
packages: {
"": {},
},
}
原因如下:添加扩展没有全局默认值。但是,如果您定义了一个包,但没有为其指定defaultExtension
,那么包将自动获取defaultExtension
的默认值,即“js”
defaultJSExtensions
从0.20.0版起不再受支持。您可以在“删除对defaultJSExtensions
的支持”中看到它
defaultExtension
是选项中定义的包的参数,因此必须定义包才能使用它
考虑到您的映射也不是必需的,那么您应该使用如下内容:
{
baseURL: '/scripts/ts',
packages: {
// Yep, this defines a package with an empty name. This will
// encompass everything not encompassed by a more specific package
// name.
"": {
defaultExtension: "js"
},
},
}
实际上,这也会起作用:
{
baseURL: '/scripts/ts',
packages: {
"": {},
},
}
原因如下:添加扩展没有全局默认值。但是,如果您定义了一个包,但没有为其指定defaultExtension
,那么该包将自动获取defaultExtension
的默认值,即“js”
永远不要使用文档。编写。特别是在异步回调中。永远不要使用文档。编写。特别是在异步回调中,事实上我自己在阅读文档后已经解决了这个问题,但我知道有人会得到比我添加到问题中更好的答案;我也不知道空包名的事情。谢谢,我自己在读了这些文件之后已经解决了这个问题,但是我知道有人会有比我补充问题更好的答案;我也不知道空包名的事情。非常感谢。