webpack

webpack是一个非常强大的打包工具,可以打包符合标准规范(如CommonJS/AMD)的模块,也可以封装loader来支持其它模块化特性。 nui-loader 就是一个将Nui模块化语法转化为webpack可识别语法的解释器,能让我们在使用Nui模块特性的同时使用webpack进行打包。

本页面内容仅介绍nui-loader的使用,不会对webpack做过多的解释,没接触过的请提前进行了解。

安装

新建一个nui-demo文件夹,目录结构是如下形式:

全局安装webpack:

终端中路径切换到nui-demo目录,然后分别安装webpack、nui-loader、html-webpack-plugin、clean-webpack-plugin:

使用

编辑/src/script/app.js文件,添加如下代码:

编辑/src/script/content.js文件,添加如下代码:

编辑/html/index.html文件,添加如下代码:

编辑webpack.config.js,添加如下代码:

在终端中执行webpack --watch,打开/dist/index.html,页面显示了hello world,修改content.js,页面内容也会及时更新。

webpack和Nui都支持别名,可是使用方式不一样,如果你习惯了Nui框架的别名书写方式,可以通过nui-loader参数进行设置。编辑webpack.config.js,修改module部分如下:

编辑app.js,修改内容如下:

重新执行webpack --watch,页面正常显示内容。

如果你的项目使用了非常多的别名,或者使用gulp-nui的项目迁移到webpack,可以通过url参数将别名配置到一个文件中。项目根目录新建一个config.js,添加内容如下:

编辑webpack.config.js,修改module部分如下:

重新执行webpack --watch,页面正常显示内容。

注意事项

由于Nui组件中加载样式文件没有添加后缀,因此需配置文件类型加载顺序,less优先。

使用Nui框架编写模块时,4个工厂函数require/imports/extend/renders中除了require, 其它三个必须加this.或者module.前缀,否则解释器无法识别。gulp-nui转webpack的要注意