gpt4 book ai didi

javascript - SystemJS:我在提供默认 JS 扩展时缺少什么

转载 作者:行者123 更新时间:2023-11-30 09:33:22 26 4
gpt4 key购买 nike

不,我不是在构建 angular2 应用程序。我正在试用 SystemJS,这是我加载模块的脚本

<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.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>

看起来 systemjs 没有选择默认扩展。我该如何解决这个问题?

最佳答案

defaultJSExtensions 从 0.20.0 版开始不再受支持。您可以在 release notes for 0.20.0-alpha1 中看到它:“删除对 defaultJSExtensions 的支持。”

defaultExtensionpackages 中定义的包的参数选项,因此您必须定义一个包才能使用它。

考虑到你的 map 也不是必需的,那么你应该使用这样的东西:

{ 
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".

关于javascript - SystemJS:我在提供默认 JS 扩展时缺少什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45014460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com