systemjs:将其他所有内容映射到node_modules

时间:2016-04-01 15:58:20

标签: systemjs

我无法让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 Standard。

谢谢,罗宾

1 个答案:

答案 0 :(得分:3)

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

System.config({
  map: {
    blast: './app'
  }
});

./是区分网址空间与成为node_modules/app路径所必需的(可能是您在此处开始使用路径的原因?)

建议使用baseURL: 'node_modules'而不是通配符路径条目(并且它们几乎相同)。