Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
离开凉亭(已停产)改用纱线/Npm(.Net Core MVC)VS2017_Npm_Asp.net Core Mvc_Visual Studio 2017_Bower_Yarnpkg - Fatal编程技术网

离开凉亭(已停产)改用纱线/Npm(.Net Core MVC)VS2017

离开凉亭(已停产)改用纱线/Npm(.Net Core MVC)VS2017,npm,asp.net-core-mvc,visual-studio-2017,bower,yarnpkg,Npm,Asp.net Core Mvc,Visual Studio 2017,Bower,Yarnpkg,大约一年前,我开始开发.Net核心应用程序。我使用.NETCore在VisualStudio中设置我的项目,并使用Bower管理我的客户端包。看起来是bower,而“负责人”建议使用warn或webpack 所以我的问题是如何开始使用纱线而不是凉亭?(或npm,如果更合适) 当我开始我的项目时,我从Visual Studio软件包管理器中使用bower,只需键入: bower install <package-name> 我发现很难弄清楚如何在Visual Studio 2017中

大约一年前,我开始开发.Net核心应用程序。我使用.NETCore在VisualStudio中设置我的项目,并使用Bower管理我的客户端包。看起来是
bower
,而“负责人”建议使用
warn
webpack

所以我的问题是如何开始使用
纱线
而不是
凉亭
?(或npm,如果更合适)

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

bower install <package-name>
我发现很难弄清楚如何在Visual Studio 2017中使用纱线或npm实现相同的“轻松性”。我已经可以通过
BundlerMinifier.Core
NuGet包访问缩小文件,我相信它会自动为我的包中的文件缩小文件,因此我想使用的解决方案不需要这样做

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


如何使用
warn
安装与使用
bower
类似的软件包?或者我应该改用
npm
吗?

纱线和npm是非常相似的东西。您可以使用纱线或npm来实现完全相同的目标,即安装节点包。这与bower之前为您所做的类似,只是bower将它们添加到您的project web资产中,而不是节点单元模块中

WebPack是一个纯粹用于构建客户端web资产并将其和依赖项捆绑在一起的工具


如果您不需要这样做,请继续对遗留项目使用bower或Nuget。对于新项目,请使用网页包和纱线/npm

我和你有同样的问题,发现纱线不太难用。这里我将讨论纱线的安装、VisualStudio17的调整以及项目工作流程

纱线安装

要运行纱线,您需要安装两个组件:

+ Solution
    + Project
        + wwwroot
            + lib
        + Program.cs
        + Startup.cs
        + package.json
  • 先决条件
  • 这个
在Visual Studio 2017中禁用NPM

Thread在项目中使用一个文件package.json来跟踪它安装了什么。NPM也使用相同的文件。为了避免任何冲突,我在VisualStudio中禁用了NPM挂钩。如果启用,当package.json发生更改时,这些挂钩将导致NPM加载包

要禁用NPM,请转到“工具”菜单并选择“选项…”。。。。在左侧的树中,转到:项目和解决方案->Web包管理->包还原。在右侧,通过将两个选项都更改为False来禁用NPM挂钩:

在上图中,我还禁用了凉亭的挂钩。这是可选的-我这样做是为了不让Bower意外安装任何软件包

纱线项目设置

要在项目中使用纱线,您需要做以下几件事:

  • 确保项目具有package.json文件。它应该位于项目目录下。最初,文件内容应包含一个左括号和一个右括号:

  • 确保wwwroot下有一个lib目录
以下目录结构显示了一个包含以下两项内容的示例项目:

+ Solution
    + Project
        + wwwroot
            + lib
        + Program.cs
        + Startup.cs
        + package.json
纱线使用/项目工作流程

这是你一直在等待的部分。首先打开包管理器控制台。控制台只是VS中的powershell控制台。打开时,您将位于解决方案目录中,因此需要将CD放入项目目录中。之后,您可以使用以下方式添加库:

cd [project dir]
yarn add --modules-folder=wwwroot\lib jquery
yarn add --modules-folder=wwwroot\lib bootstrap@v4.0.0
软件包现在安装在wwwroot\lib下,因为这是您告诉Thread安装它们的地方

在Visual Studio 2017中添加纱线快捷方式

如果您认为上一节涉及太多的键入,可以通过在VS中添加快捷方式来简化操作。设置该快捷方式后,将自动从项目目录运行,并指定目标文件夹。你所要做的就是告诉它要安装什么软件包

在Visual Studio内部,单击工具>外部工具。。。从菜单上。在弹出窗口中,单击“添加”按钮并按如下方式填写字段:

  • 标题:纱线添加
  • 命令(您的目录可能不同):C:\ProgramFiles(x86)\Thread\bin\Thread.cmd
  • 参数:add--modules folder=wwwroot\lib
  • 初始目录:$(ProjectDir)
同时启用以下复选框:

  • 使用输出窗口
  • 提示进行辩论
单击“确定”按钮保存快捷方式

因此,现在您应该在“工具”菜单下有一个“纱线添加”项。单击它,您将看到一个弹出窗口,询问输入参数:

您只需单击第一个编辑框并添加您的包。例如,要添加jquery:

单击弹出窗口上的OK,Thread将发挥其魔力并安装您的软件包

其他注意事项

  • 我不做节点开发,所以我没有考虑上面的内容会对它产生什么影响。对于那些进行节点开发的人来说,可以尝试使用Thread将软件包安装到Node_npm文件夹中,看看是否可以工作
  • 我怀疑目前有Bower可以安装的软件包,而Thread无法安装。希望随着时间的推移,这一差距会缩小

在我看来,一个更简单的选择是使用Thread并指定使用rc文件将软件包安装到哪个文件夹中。以下是您的操作方法:

  • 将Thread从下载到计算机上,如果使用Windows,则需要确保它包含在计算机的路径中。
  • 通过命令行在项目的根目录下创建package.json或键入“Thread init”(如果键入“Thread in
    cd [project dir]
    yarn add --modules-folder=wwwroot\lib jquery
    yarn add --modules-folder=wwwroot\lib bootstrap@v4.0.0
    
    --modules-folder wwwroot/lib