我有一個帶有大量Node.js模塊的ASP.NET 5項目。它們安裝在node_modules
文件夾下。厭倦了將node_modules複製到wwwroot文件夾
在開發環境(environment = development)中,我開始將所有模塊手動複製到wwwroot\lib
。當這變得乏味時,我寫了一個Gulp任務來複制它們。現在有很多任務。
是否有任何ASP.NET項目設置,使模塊可以從node_modules
文件夾的根目錄,而不是從wwwroot\lib
加載?
我有一個帶有大量Node.js模塊的ASP.NET 5項目。它們安裝在node_modules
文件夾下。厭倦了將node_modules複製到wwwroot文件夾
在開發環境(environment = development)中,我開始將所有模塊手動複製到wwwroot\lib
。當這變得乏味時,我寫了一個Gulp任務來複制它們。現在有很多任務。
是否有任何ASP.NET項目設置,使模塊可以從node_modules
文件夾的根目錄,而不是從wwwroot\lib
加載?
應該有一個package.json
文件在與node_modules
相同的目錄中,您只需將其複製到新位置,然後從命令行運行npm install
即可安裝軟件包。然後新的模塊即將在新的位置提供。
編輯:對於開發目的,只是增加一個UseStaticFiles
中間件。爲了您的Startup.cs
- >public void Configure()
方法 - >補充一點:
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"node_modules")),
RequestPath = new PathString("/node_modules")
});
UseStaticFiles
使用了兩次。首先,爲默認的wwwroot
提供靜態文件,第二次提供/node_modules
文件。如描述here。
只要在生產環境中小心。