webpack基础用法
来源:互联网 发布:免费淘宝装修软件 编辑:程序博客网 时间:2024/05/21 04:19
- 打包
- javascript
- webpack
----------webpack的用法全在配置中!!
webpack是在node环境下运行的,学习webpack之前,请先自行安装node环境(含npm);
安装webpack:
第一步: npm install -g webpack //全局安装第二步: 建立项目文件夹,如“demo” cd demo npm init //一直回车下去 npm install webpack --save-dev //项目目录本地安装
搭建目录结构
在项目根目录“demo”下的简单目录结构如下: --app --index.js //入口文件 --node_modules //安装modules时,自动建立 --tem //HTML模板文件夹 --index.html --webpack.config.js //自建,不会自动生成;一般会有开发和发布两种配置文件 --package.json //由npm init时自动建立
webpack简单配置:
webpack的用法全部都在webpack.config.js中;其他地方不要夹杂webpack配置的内容;
//webpack.config.js写入以下内容 //引入内置功能模块; var path = require('path'); var HtmlWebpackPlugin = require('html-webpack-plugin'); var webpack = require('webpack'); //定义常用路径变量; var ROOT_PATH = path.resolve(__dirname); //返回当前文件(webpack.config.js)所在位置 var APP_PATH = path.resolve(ROOT_PATH,'app'); //拼接路径; var TEM_PATH = path.resolve(ROOT_PATH,'tem'); var BUILD_PATH = path.resolve(ROOT_PATH,'build'); module.exports = { entry : { //入口文件 app : APP_PATH, vendors : ['react','react-dom'] }, output : { //产出路径; path : BUILD_PATH, filename : '[name].js' }, module : { 一切皆模块,一切需要loader解析; loaders : [ {test:/\.js?$/, loader:'jsx', exclude:/node_modules/} ] }, plugins : [ //生成HTML文件; new HtmlWebpackPlugin({ title : 'Hello world app!', template : path.resolve(TEM_PATH,'index.html'), filename : 'index.html', chunks : ['vendors','app'], inject : 'body', // chunksSortMode : "none" }), new webpack.HotModuleReplacementPlugin() //保证实时刷新; ], devServer:{ //实时刷新,需要inline model和hot:true histroyApiFallback : true, hot : true, inline : true, progress : true } }
注意:webpack分析webpack.config.js中的entry file到其他文件中查找依赖,所有文件被包含在bundle.js中;
webpack给每个module(注意:所有文件都是module,包括通过loaders进来的图片、css等)一个独立id;并使所有module在bundle.js中可以通过id访问;启动时,只有entry chunk被执行;
webpack支持CMD和AMD规范,但不要在入口文件中使用AMD规范,会报错;
Development Server:
//Webpack搭建本地服务器,监听文件改变,实时更新页面;但是不会输出结果文件到磁盘,适于生产环境下调试;
//webpack-dev-server调用的脚本文件不是output的文件,而是保存在内存中的文件……目前引用的方法只知道用Html-webpack-plugin自动生成html页面来引用;
常用配置: plugins : [ //保证实时更新,需要启用内置的HotModuleReplacementPlugin插件; new webpack.HotModuleReplacementPlugin() ], devServer:{ //server切换到inline model histroyApiFallback : true, hot : true, inline : true, progress : true }
注意:webpack-dev-server允许内网访问------设置host 0.0.0.0
//webpack-dev-server是实现页面整体刷新;
//在package.json文件中配置"script"脚本设置快捷命令方式//以下命令行参数不要和上边webpack.config.js中的配置有交集,好像会报错;"scripts": { "start":"webpack-dev-server --colors --host 0.0.0.0 --port 8080" } 使用命令行模式npm run start运行webpack-dev-server;
使用不同的配置build项目:
//根据需求绑定不同的配置文件并设置scripts脚本运行方式; "scripts": { "start": "webpack-dev-server --hot --inline", "build": "webpack --progress --colors --config webpack.production.config.js" }
0 0
- webpack基础用法
- webpack基础用法
- webpack的基础用法
- webpack 用法
- Webpack 基础
- webpack基础入门
- webpack基础实践1
- webpack基础实践2
- webpack基础入门(一)
- webpack基础入门(二)
- webpack基础入门(三)
- webpack基础入门(四)
- React +webpack 基础配置
- webpack基础入门
- webpack基础入门
- webpack基础入门
- webpack使用--基础
- webpack基础(一)
- pat 1069
- poj2251
- 测试Prodction应用的推送证书是否正确
- baseactivity实现封装toolbar
- Access数据库连接(加密/不加密)
- webpack基础用法
- iOS 版本更新
- docker实战(二) - 基本概念
- 万分之一错误率问题的分析及定位
- android 如何设置屏幕亮度默认值为自动调节
- (c++)求1+2!+3!+4!+…+30!。 科学计数法,保留两位小数。
- Android开发 Error(建议收藏下来以备不时之需):The number of method references in a .dex file cannot exceed 64K.
- 【Usaco 2007 Dec silver】穿越泥地 (Standard IO)
- 交叉编译并移植opencv3.0.0到arm板