只要我将所有内容保存在我的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
答案 0 :(得分:0)
设置server.baseDir路由时,还需要配置server.routes选项,以便能够访问baseDir父文件夹中的路径。像这样:
{
"server": {
"baseDir": "./src",
"routes": { "/node_modules": "node_modules" }
}
}
然后在./src内的文件中,将node_modules / foo路径更改为../ node_modules / foo。