Mic*_*son 7 asp.net node.js asp.net-core nodeservices asp.net-core-3.1
我已经读到NodeServices 已被 ASP.NET Core 3.1 弃用。是否仍然可以使用 Node.js 将我的 JavaScript 文件构建到 中的dist文件夹中wwwroot?
根据NodeServices 包,它允许您“在 ASP.NET Core 应用程序中在运行时调用 Node.js 模块”(强调我自己的)。在GitHub 自述文件中更详细地重申了这一点:
此 NuGet 包提供了一种从 .NET 应用程序(通常是 ASP.NET Core Web 应用程序)调用 Node.js 代码的快速而可靠的方法。只要您想在 ASP.NET 中在运行时使用 Node/NPM 提供的功能,就可以使用它。
这完全独立于在构建时预编译、最小化或移动 JavaScript 文件的能力。
你不需要——也不会——需要 NodeServices 来通过以下方式下载npm包依赖:
npm任务(例如,Azure Pipelines上的任务)。同样,要预编译、最小化客户端依赖项并将其从源目录移动到分发目录,您可以(继续?)使用Gulp.js、Grunt或WebPack等工具,它们都是在顶层运行的构建系统的 Node.js。
重要提示:此处的关键区别在于您不需要在运行时从 .NET 应用程序调用这些工具。您正在将Node.js 构建工具的输出合并到您的 .NET 应用程序中,但您没有将Node.js 代码作为.NET 应用程序的一部分执行。
一个例外是,如果您使用 NodeService 在运行时动态执行这些构建任务。例如,如果您的应用程序配置了UseWebpackDevMiddleware()则将不再起作用。在这种情况下,您需要迁移到在部署之前(或期间)发生的构建过程。
如果您正在使用UseWebpackDevMiddleware(),那么我建议您考虑在本地配置Webpack。这应该是一个非常无缝的过渡。您可以通过 Webpack CLI 手动运行它,使用 Visual Studio 扩展,甚至可能将其集成到您的构建过程中。就我个人而言,我在我的开发服务器上手动运行它,然后将它集成到我的 Azure Pipelines 构建过程中。
或者,如果您真的想保持对 Webpack 文件的“及时”构建支持,您可以考虑将Webpack 开发服务器与 ASP.NET Core 结合使用,如将 webpack 构建与 ASP.NET Core 集成的最佳方式中所述3.0?.
| 归档时间: |
|
| 查看次数: |
6816 次 |
| 最近记录: |