用于本地开发的lite-server路径

时间:2016-10-19 13:53:29

标签: angular lite-server

只要我将所有内容保存在我的root文件夹中,利用tsc / npm脚本和带有JIT编译的lite-server工作完全正常

project_folder
bs-config.js
index.html //with ref to
src/
  main.ts
  //main.js
  //main.js.map
  app/
    app.module.ts
    //etc..
    components/
      foo/
      foo.component.ts       

用于处理此事件的bs-config:

var proxy = require('http-proxy-middleware');

var myProxy= proxy('/path', {
  target: 'http://xxxx/path',
  changeOrigin: true
});

module.exports = {
  port: 3000,
  files: ["./src/**/*.{html,htm,css,js}"],
  open: false,
  logLevel: "info",
  server: {
    index: "index.html"
    middleware: {
      1: myProxy
    }
  }
};

作为同事的新要求,这应该改为更多" gulp方式"开发,使用经典的dist文件夹,其中编译的.js文件应该

尝试使用标准npm脚本实现此功能,我刚刚将"outDir": "./dist"添加到tsconfig

最大的问题是,一旦我更改了bs-config的baseDir,我就再也无法访问node_modules了,因为lite-server显然无法提供其baseDir之外的东西?

特别是我无法从index.html获取我的最小节点库,例如

<script src="node_modules/core-js/client/library.min.js"></script>
<!-- ../node_modules cant get resolved -->

此处提供的修复程序对我不起作用: lite-server does not load scripts from parent directory in Angular 2 app

1 个答案:

答案 0 :(得分:0)

设置server.baseDir路由时,还需要配置server.routes选项,以便能够访问baseDir父文件夹中的路径。像这样:

{
    "server": { 
        "baseDir": "./src",
        "routes": { "/node_modules": "node_modules" }
    }
}

然后在./src内的文件中,将node_modules / foo路径更改为../ node_modules / foo。