服务器不是在寻找node_modules文件夹

时间:2016-05-10 15:34:06

标签: node.js typescript angular systemjs

我正在尝试将我的应用程序部署到已将应用程序添加到默认网站的Web服务器。我使用System.js设置baseURL并启用defaultJSExtensions为true:

<script>
        System.config({
            baseURL: '/foo',
            defaultJSExtensions: true        
    });

    System.import('Scripts/typescript/main.js').then(null, console.error.bind(console));
    </script>

当它试图搜索我的js文件时出现问题,例如“/foo/node_modules/angular2/core.js”。它不是在搜索node_modules文件夹,它只是在寻找“/foo/angular2/core.js”。

在我的本地环境中,这一切都运行得很好,它会自动查找“node_modules”文件夹,但是当我将它发布到服务器时,它不会。

我看到一些解决方案将path选项添加到我的system.config中,但我很好奇为什么我不需要在我的本地Web服务器中执行此操作但我在测试服务器中执行此操作?是因为我的本地环境中没有“foo”站点名称吗?

我是否需要在服务器上安装nodejs?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你必须在系统配置中介绍地图

    System.config({
        baseURL: '/foo',
        defaultJSExtensions: true,
        map: {
           "<angular import>": "<adjust URL based upon your structure>node_modules/angular2/core.js"
        }      
      });