厌倦了将node_modules复制到wwwroot文件夹

时间:2016-11-28 21:20:36

标签: asp.net gulp wwwroot

我有一个带有大量Node.js模块的ASP.NET 5项目。它们安装在node_modules文件夹下。

在开发环境(环境=开发)中,我开始手动将所有模块复制到wwwroot\lib。当这变得乏味时,我写了一个Gulp任务来复制它们。现在有很多任务。

是否有任何ASP.NET项目设置,因此可以从根目录的node_modules文件夹而不是wwwroot\lib加载模块?

2 个答案:

答案 0 :(得分:4)

修改:出于开发目的,只需再添加一个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

在生产环境中要小心。

答案 1 :(得分:2)

package.json的同一目录中应该有一个node_modules文件,您只需将其复制到新位置,然后从命令行运行npm install即可安装包。然后,新模块将很快在新位置上可用。