gpt4 book ai didi

javascript - SystemJS 相对路径

转载 作者:行者123 更新时间:2023-11-30 08:32:09 27 4
gpt4 key购买 nike

我有一个非常基本的 config.js文件按预期工作,只要它部署在根 URL 下。这是样本 config.js文件:

System.config({
//use typescript for compilation
transpiler: 'typescript',
//typescript compiler options
typescriptOptions: {
emitDecoratorMetadata: true
},
//map tells the System loader where to look for things
map: {
app: "./src",
},
//packages defines our app package
packages: {
app: {
main: './app.ts',
defaultExtension: 'ts'
}
}
});

只要这个文件是从根路径加载的<script src="/config.js">地点是
http://localhost/config.jshttp://localhost/src/app.ts一切正常。

我现在正在尝试移动 config.js文件到更深的目录并像这样加载它:<script src="/a/b/c/d/e/config.js"> ,但如果我这样做,我需要硬编码 config.js 上的路径文件本身像:

 //map tells the System loader where to look for things
map: {
app: "./a/b/c/d/e/src",
},

是否可以在 config.js 中不再对整个路径进行硬编码?文件 ?我本来以为领先./意思是“相对于”,但事实并非如此。如果我不再次对完整路径进行硬编码,它就不起作用。什么是(或是否存在)指示相对位置的语法?

最佳答案

'./' 的意思是相对的,但它是相对于加载 js 文件的“上下文”而言的。我假设您正在将它加载到页面中,例如位于根文件夹中的 index.html - 这是您的“上下文”,所有路径都将相对于它。因此,通过将 config.js 移动到任何其他非根位置,然后将其加载到根 html 页面中 - 不会更改其仍将是根文件夹的上下文,而 src 文件的位置已更改,现在您被迫提供在您的 config.js 中指向它们的新路径。

为了更容易,您可以使用 systemjs baseURL属性(property)。然后您只需在一个地方更改路径,而无需为每个包重写它们。

关于javascript - SystemJS 相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36092381/

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