我无法让 systemjs 工作,因此它解析节点模块。

我的 index.html 中有以下内容:

<script src="./system.config.js"></script>
<script>
    System.import('blast/test')
            .then(null, console.error.bind(console));
</script>

这是我的配置:
System.config({
    baseUrl: '/',
    packages: {
        'app': {
            defaultExtension: 'js',
        }
    },

    packageConfigPaths: ['./node_modules/*/package.json'],

    paths: {
        'blast/*': 'app/*'
    }
});

到目前为止,这工作正常。但是,我还希望能够解析像 lodash 这样的节点模块。所以我设置了路径:
paths: {
    'blast/*': 'app/*'
    '*': './node_modules/*'
}

现在我可以很好地导入 lodash,但是在导入 blast/test 时出现错误 /app/test 404 (not found) 。看起来,包配置不再使用,这个 .js 没有附加。任何人都有任何提示如何解决这个问题?我正在使用 SystemJs 0.19.25 标准。

谢谢,罗宾

最佳答案

尝试在此处使用 map 配置而不是本地包 -

System.config({
  map: {
    blast: './app'
  }
});
./ 是区分 URL 空间和成为 node_modules/app 路径所必需的(可能是您在这里使用路径的原因?)

还建议使用 baseURL: 'node_modules' 而不是通配符路径条目(它们几乎等同于同一件事)。

关于systemjs:将其他所有内容映射到 node_modules,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36360753/

10-15 00:08