npm - 从 Bower(已停产)改为使用 Yarn/Npm(.Net Core MVC)VS2017

标签 npm asp.net-core-mvc visual-studio-2017 bower yarnpkg

大约 1 年前,我开始研究 .Net Core 应用程序。我使用 .Net Core 在 Visual Studio 中设置我的项目,并使用 Bower 管理我的客户端包。看来bowerbeing maintained/discontinued “负责人”建议使用yarnwebpack反而。

所以我的问题是如何开始使用 yarn而不是 bower ? (或 npm 如果更合适)

当我开始我的项目时,我在 Visual Studio 包管理器中使用了 bower,只需键入:

bower install <package-name>

它设法在我的 wwwroot/lib/ 中安装文件/目录文件夹。我只需要将依赖项添加到我的 _Layout.cshtml一切都完美无缺。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"
    asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
    asp-fallback-test="window.jQuery">
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
    asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
    asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal">
</script>

我发现很难弄清楚如何使用 yarn 或 npm 在 Visual Studio 2017 中实现相同的“简单性”。我已经可以通过 BundlerMinifier.Core 访问缩小文件。 NuGet 包,我相信它会自动为 my 中的文件执行此操作,因此这不是我要使用的解决方案的要求。

我试过谷歌搜索,但似乎这不是一个很常见的问题。我发现的所有链接都建议使用 npm 并设置 gulp 以将文件移动到 wwwroot/lib/我试过了,但这样做我遇到了一些奇怪的错误。

如何使用 yarn安装与 bower 类似的软件包?或者我应该使用npm反而?

最佳答案

在我看来,更简单的选择是使用 yarn 并使用 rc 文件指定将软件包安装到哪个文件夹。这是你如何做到的:

  • yarn's site 下载 yarn 到你的电脑,如果使用 Windows,您需要确保它包含在您计算机的路径中。
  • 创建一个 package.json 或通过命令行在项目的根目录输入“yarn init”(如果您输入“yarn init”,它会询问一些信息来帮助格式化 package.json 文件)。注意 package.json 文件的引擎部分,指定了什么 yarn 引擎:

  • {
        "version": "1.0.0",
        "dependencies": {
        "bootstrap": "4.1.3",
        "popper.js": "1.14.3",    
    },
        "engines": {
        "yarn": ">= 1.0.0"
        }
    }
    
    然后通过在visual studio里面新建一个文本文件到项目中来创建一个.yarnrc文件,文件全名应该是“.yarnrc”后面没有.txt,项目会自动在包下面添加.yarnrc文件。 json,然后将以下内容添加到 rc 文件中:
    --modules-folder wwwroot/lib
    
    不需要引号。
    然后只需在项目根文件夹中打开命令行并键入“yarn”,所有包将安装到 .yarnrc 文件中指定的文件夹中。

    关于npm - 从 Bower(已停产)改为使用 Yarn/Npm(.Net Core MVC)VS2017,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44844048/

    相关文章:

    c# - 无法将字符串转换为 TimeSpan

    azure - 将包含 Azure AD B2C 信息的 appsettings.json 添加到源代码管理

    c# - 添加在 Visual Studio 2017 RC 中构建 .NET Core 项目后运行的 msbuild 任务

    visual-studio - Visual Studio 2017 - 磁盘空间不足

    node.js - sh : 1: cross-env: Permission denied on laravel mix

    node.js - npm 脚本同时运行 redis-server、mongod 和 nodemon

    javascript - 由于node和webpack版本冲突,无法安装依赖项

    javascript - 升级到 Node 7 后找不到模块 'internal/fs'

    c# - 如何删除默认的 ASP.NET Core Identity 端点?

    c# - ASP.NET 5 MVC6 错误 : project is not a web project