学习了webpack门级的教程后,觉得可能是专门为单页应用而量身打造的,比如webpack+react、webpack+vue等,都可以解决各种资源的依赖加载、打包的问题。甚至css都是打包在js里去动态添加到dom文档中的。
那如果我们想要想要多页的普通的web站点,css独立出来,js加载需要模块?
初始化项目、安装依赖
package.json
css-loader": "^0.23.1","extract-text-webpack-plugin": "^1.0.1","file-loader": "^0.8.5","html-loader": "^0.4.3","html-webpack-plugin": "^2.9.0","jquery": "^1.12.0","less": "^2.6.0","less-loader": "^2.2.2","sass-loader": "^4.0.2","style-loader": "^0.13.0","url-loader": "^0.5.7","webpack": "^1.12.13","webpack-dev-server": "^1.14.1"
}
目录结构(我用的express框架,其他的根据个人需求)
代码开发目录
- css #css目录,按照页面(模块)、通用、第三方三个级别进行组织
+ page
+ common
+ lib
- js #JS脚本,按照page、components进行组织
+ page
+ components
+ template #HTML模板
- node_modules #所使用的nodejs模块
- public #express静态资源文件
- dist #webpack编译打包输出目录,无需建立目录可由webpack根据配置自动生成
+ css
+ js
+ img #图片资源
+ view #express静态资源文件(webpack编译打包输出view目录)
package.json #项目配置
webpack.config.js #webpack配置
开发页面
在src/js/page目录下建立index.js文件,在src/view目录下建立index.html文件。入口js和模板文件名对应。
index.html 内容如下: