我有一个带有大量Node.js模块的ASP.NET 5项目。它们安装在node_modules
文件夹下。
在开发环境(环境=开发)中,我开始手动将所有模块复制到wwwroot\lib
。当这变得乏味时,我写了一个Gulp任务来复制它们。现在有很多任务。
是否有任何ASP.NET项目设置,因此可以从根目录的node_modules
文件夹而不是wwwroot\lib
加载模块?
答案 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
即可安装包。然后,新模块将很快在新位置上可用。