使用Webpack将JavaScript模块添加到ASP.NET MVC应用程序
我正在尝试使用Webpack在ASP.NET MVC 5 Visual Studio 2015项目中创build几个简单的模块。 遵循Webpack网站上的说明,我下载了最新版本的Node.js。 然后使用节点命令提示符,更改为我的项目的文件夹。 在那里,我运行这个命令来在本地安装Webpack:
npm install webpack --save-dev
它在我的项目的根目录下创build了一个package.json文件:
{ "devDependencies": { "webpack": "^2.4.1" } }
请注意,该项目已通过BundleConfig.cs
将jQuery和Bootstrap作为捆绑包进行捆绑,然后在_Layout.cshtml
引用; 因此它们在应用程序的所有页面上都可用。
现在我想创build一个非常简单的testing,以了解如何使用Webpack创build和需要模块; 一旦我理解得更好,我可以添加更复杂的模块。 我一直在阅读代码拆分: https : //webpack.js.org/guides/code-splitting-async/,但仍不清楚你如何做到这一点。
函数test
需要函数isEmpty
。 我想将isEmpty
定义为模块,然后在test
使用它。
var test = function(value){ return isEmpty(value); }; var isEmpty = function(value) { return $.trim(value).length === 0 ? true : false; };
本文一直在帮助: http : //developer.telerik.com/featured/webpack-for-visual-studio-developers/
Webpack文档提到import()
和require.ensure()
。 如何使用Webpack模块化isEmpty
代码然后使用它?
Webpack允许你使用commonJS方法来实现Node.js使用的依赖pipe理 ,所以如果你有使用Node.js的经验,那么它非常相似。 如果没有看看这篇文章的模块系统或者说明模块系统的说明。
对于这个问题,我将假定所有的文件都在同一个目录下。 我想你将需要首先将isEmpty代码移动到一个单独的文件,也许是isEmpty.js,并改变它的结构有点像这样:
module.exports = function(value) { return $.trim(value).length === 0 ? true : false; };
那么你的testing函数可以被移动到一个单独的test.js文件中,你可以要求使用isEmpty模块,像这样使用它:
var isEmpty = require('./isEmpty'); var test = function(value){ return isEmpty(value); };
你可能不得不做一些关于$的依赖关系(我猜jQuery的?),但我认为这可以用填补处理
如果你有一些function,你可以这样做:
someFunctions.js
var self = {}; self.Double = function(value){ return value*2; } self.Triple = function(value){ return value*3; } module.exports = self;
useFunctions.js
var useFunctions = require('./someFunctions'); var num = 5; console.log(useFunctions.Double(num)); console.log(useFunctions.Triple(num));
- 作为现有的asp.net站点的应用程序运行时,iisnode错误500
- 如何在ASPX项目中使用node.js?
- 预览失败 – Visual Studio在发布时会查找打印文件,即使它们不包含在内。
- 通过Edge.js从多项目Visual Studio解决scheme中的node.js项目调用Web API
- 可以使用asp.net windows窗体与node.js使用issnode
- 你用什么来使JavaScript更像C#一样?
- TypeError:无法读取undefined(Node.js)的属性'get'
- OpenAM,OpenId,REST API,内部应用程序:我如何连接它们?
- 在单个Azure Webangular色中混合使用node.js和ASP.NET项目?