1

ルートフォルダーにすべてを保持している限り、tsc/npm スクリプトと lite-server を JIT コンパイルで利用しても問題なく動作します

すなわち

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
    }
  }
};

.js同僚からの新しい要件として、これは、コンパイルされたファイルが移動する必要がある従来のdistフォルダーを使用して、より「一気飲み」の開発に変更する必要があります

"outDir": "./dist"tsconfigに追加したばかりの標準のnpmスクリプトのみでこれを実装しようとしています

大きな問題は、bs-config の baseDir を変更するとすぐに、node_modules にアクセスできなくなることです。

具体的には、index.htmlから最小限のノードライブラリを取得することはできません。

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

ここで提供されている修正は機能しません: lite-server は Angular 2 アプリの親ディレクトリからスクリプトをロードしません

4

1 に答える 1

0

server.baseDir ルートを設定する場合、baseDir の親フォルダーからパスにアクセスできるようにするために、server.routes オプションも構成する必要があります。このような:

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

次に、./src 内のファイルで、node_modules/foo パスを ../node_modules/foo に変更します。

于 2020-11-25T04:15:36.033 に答える