【问题标题】:Tired of copying node_modules to wwwroot folder厌倦了将 node_modules 复制到 wwwroot 文件夹
【发布时间】:2016-11-28 21:20:36
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net gulp wwwroot


    【解决方案1】:

    编辑:出于开发目的,只需再添加一个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所述。

    在生产环境中要小心。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-06-01
        • 2017-05-21
        • 1970-01-01
        • 1970-01-01
        • 2020-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多