webpack精简总结
栏目: JavaScript · 发布时间: 6年前
内容简介:WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用Gulp/Grunt是一种能够优化前端的开发流程的工具, 而WebPack是一种模块化的解决方案, Webpack的优点使得Webpack在很多场景下可以替代Gulp/Grunt类的工具
WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用
与gulp和grunt区别
Gulp/Grunt是一种能够优化前端的开发流程的工具, 而WebPack是一种模块化的解决方案, Webpack的优点使得Webpack在很多场景下可以替代Gulp/Grunt类的工具
不使用配置文件
- 全局安装 webpack entryfilename outputfilename
- 局部安装 node_modules/.bin/webpack entryfilename outputfilename
配置文件webpack.config.js
执行步骤
- mkdir webpack-demo
- npm init -y
- npm install -D webpack webpack-cli
- touch .gitignore webpack.config.js
// .gitignore node_modules/ dist/ # editor .vscode .idea .project 复制代码
const path = require('path')
module.exports={
entry:'./main.js',
output:path.resolve(__dirname,'./dist'),
module:{
rules:[
{ test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" },
{
test:/\.css$/,
use:['style-loader','css-loader']
},
{
test:/\.(jpg|png|svg)$/,
use:['file-loader']
}
]
},
plugins:[
]
}
复制代码
执行命令
- npx webpack
- "dev":"webpack --config webpack.config.js"
配置开发dev和生产pro环境
dev
- npm install webpack-merge webpack-dev-server html-webpack-plugin
const common = require('./webpack.config.js');
const merge = require('webpack-merge');
const HtmlWebpackPlugin = require('html-webpack-plugin');
modules.export = merge(common,{
devtool:'inline-source-map',
plugins:[
new HtmlWebpackPlugin({
filename:'index.html',
template:'./app/index.html'
})
],
devServer:{
hot:true,
port:3000
}
})
复制代码
production
- npm install clean-webpack-plugin copy-webpack-plugin
const common = require('./webpack.config.js');
const merge = require('webpack-merge');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports=merge(common,{
plugins:[
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
template:'./app/index.html',
inject:true,
minify:{
removeComments:true,
minifyCSS:true,
collapseWhitespace:true
}
}),
new CopyWebpackPlugin([
{
from:'./static',
to:'static'
}
])
]
})
复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
MacTalk 人生元编程
池建强 / 人民邮电出版社 / 2014-2-1 / 45
《MacTalk·人生元编程》是一本随笔文集,主要内容来自作者的微信公众平台“MacTalk By 池建强”。本书撰写于2013年,书中时间线却不止于此。作者以一个70 后程序员的笔触,立于Mac 之上,讲述技术与人文的故事,有历史,有明天,有技术,有人生。70 多篇文章划分为六大主题:Mac、程序员与编程、科技与人文、人物、工具、职场。篇篇独立成文,可拆可合,随时阅读。 此外,作者还对原来......一起来看看 《MacTalk 人生元编程》 这本书的介绍吧!