如何使用此文件夹结构引用Angular 2中的node_modules?

时间:2016-08-01 18:54:41

标签: javascript angularjs

我开始使用Angular 2,我正在尝试使用以下文件夹结构:

- angular-app
    - src 
    - dist
    - package.json

其中src是实际来源所在的位置,dist是生产版本在打字稿编译之后的位置,等等。

现在,要运行应用程序,我已经使用了快速入门建议,我已经安装了lite-server并且我将scripts package.json部分定义为:

"scripts": {
    "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
    "lite": "lite-server",
    "postinstall": "typings install",
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "typings": "typings"
}

现在,告诉lite-server代码在src内部我已经向根添加了一个文件夹configs,其中一个bs-config.json文件包含内容:

{
    "port": 3000,
    "files": ["./src/**/*.{html,htm,css,js}"],
    "server": { "baseDir": "./src/" }
}

并将lite脚本更改为lite-server -c configs/bs-config.json

现在,它确实在src内提供文件。它找到了里面的一切。但是有一个问题。

index.html上,有几个脚本从../node_modules加载。 lite-server并不知道此文件夹,因此对于进入../node_modules的任何请求,它都会返回404。

这是一个大问题。我该如何解决?如何从../node_modules内请求src内的脚本并由lite-server提供服务?

1 个答案:

答案 0 :(得分:1)

您可以尝试将您的angular-app文件夹作为root添加到bs-config.json文件中(请注意baseDir中的其他"。")

  "server": { 
    "baseDir": ["./src", "."]
  }

像angular-app / src / index.html中的以下示例的引用:

<script src="node_modules/core-js/client/shim.min.js"></script>
然后将解析

(假设您的nodes_modules将您的&#39; angular-app&#39;作为其父文件夹)。