我有一个带有大量 Node.js 模块的 ASP.NET 5 项目。它们安装在node_modules
文件夹下。
在开发环境(environment=development)中,我开始wwwroot\lib
手动复制所有模块。当这变得乏味时,我写了一个 Gulp 任务来复制它们。现在有很多任务。
是否有任何 ASP.NET 项目设置,以便可以从node_modules
根目录而不是从wwwroot\lib
?
编辑:出于开发目的,只需再添加一个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
文件。如此处所述。
在生产环境中要小心。
在同一个目录下应该有一个package.json
文件node_modules
,你只需要将它复制到新的位置,然后从命令行运行npm install
来安装包。然后新模块将很快在新位置可用。