前端开发--webpack--发布环境配置
记录一下前端开发中webpack的传统发布环境配置
const { resolve } = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
// 定义nodejs环境变量:决定使用package.json中定义的browserslist的哪个环境
process.env.NODE_ENV = 'production';
// 提取复用loader
const commonCssLoader = [
MiniCssExtractPlugin.loader,
'css-loader',
{
// 还需要在package.json中定义browserslist
loader: 'postcss-loader',
options: {
ident: 'postcss',
plugins: () => [require('postcss-preset-env')()]
}
}
];
module.exports = {
entry: './src/js/index.js',
output: {
filename: 'js/built.js',
path: resolve(__dirname, 'build')
},
module: {
rules: [
{
test: /\.css$/,
use: [...commonCssLoader]
},
{
test: /\.less$/,
use: [...commonCssLoader, 'less-loader']
},
/*
正常来讲,一个文件只能被一个loader处理。
当一个文件要被多个loader处理,那么一定要指定loader执行的先后顺序:
先执行eslint 再执行babel
*/
{
// 在package.json中eslintConfig --> airbnb
test: /\.js$/,
exclude: /node_modules/,
// 优先执行
enforce: 'pre',
loader: 'eslint-loader',
options: {
// 自动修复
fix: true
}
},
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: {
presets: [
[
'@babel/preset-env',
{
useBuiltIns: 'usage',
corejs: {version: 3},
targets: {
chrome: '60',
firefox: '50'
}
}
]
]
}
},
{
test: /\.(jpg|png|gif)/,
loader: 'url-loader',
options: {
limit: 8 * 1024,
name: '[hash:10].[ext]',
outputPath: 'imgs',
esModule: false
}
},
{
test: /\.html$/,
loader: 'html-loader'
},
{
exclude: /\.(js|css|less|html|jpg|png|gif)/,
loader: 'file-loader',
options: {
outputPath: 'media'
}
}
]
},
plugins: [
new MiniCssExtractPlugin({
filename: 'css/built.css'
}),
new OptimizeCssAssetsWebpackPlugin(),
new HtmlWebpackPlugin({
template: './src/index.html',
// 压缩html
minify: {
collapseWhitespace: true,
removeComments: true
}
})
],
mode: 'production'
};
前端开发--webpack--发布环境配置的更多相关文章
- webstorm前端开发工具vue环境配置及运行项目
1:webstorm的安装:2:node.js的安装3:安装Git4:vue-cli 安装前面两步就可以把项目启动了,安装Git主要是打开命令窗口,这样就可以用liunx命令了,原理跟cmd差不多 V ...
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
转载地址: https://blog.csdn.net/gebitan505/article/details/58166055 VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址 前 ...
- webpack根据开发与生产环境配置不同变量--webpack.DefinePlugin
webpack有一个DefinePlugin接口,可以实现根据开发与生产环境配置不同变量.范例如下: 需求:开发环境请求baseUrl = '':生产环境请求 baseUrl = 'http://lo ...
- 详解LUA开发工具及其环境配置
LUA开发工具及其环境配置是本文要介绍的内容,主要是来了解并学习lua开发工具的使用和环境的配置,第一次接触LUA的话,就跟本人一起学习吧.看我能不能忽悠到你. LUA是语言,那么一定有编写的工具.第 ...
- Windows下OpenFOAM开发及使用环境配置指南 (2)【转载】
转载自:http://openfoam.blog.sohu.com/158751915.html *************************************************** ...
- Windows下OpenFOAM开发及使用环境配置指南 (1)【转载】
转载自:http://openfoam.blog.sohu.com/158614863.html *************************************************** ...
- webpack开发与生产环境配置
前言 作者去年就开始使用webpack, 最早的接触就来自于vue-cli.那个时候工作重点主要也是 vue 的使用,对webpack的配置是知之甚少,期间有问题也是询问大牛 @吕大豹.顺便说一句,对 ...
- VUE 利用webpack 给生产环境和发布环境配置不同的接口地址
第一步,分别设置不同的接口地址 首先,我们分别找到下面的文件: /config/dev.env.js /config/prod.env.js 其实,这两个文件就是针对生产环境和发布环境设置不同参数的文 ...
- vue cli脚手架项目利用webpack给生产环境和发布环境配置不同的接口地址或者不同的变量值。
废话不多说,直接进入正题,此文以配置不同的接口域名地址为例子 项目根目录下有一个config文件夹,基础项目的话里面至少包括三个文件, 1.dev.env.js 2.index.js 3.prod.e ...
- 【前端】vue.js环境配置以及实例运行简明教程
vue.js环境配置以及实例运行简明教程 声明:本文档编写参考如下两篇博客,是对它们的修改与补充,欢迎点击链接查看原文: 原文1:vue.js在windows本地下搭建环境和创建项目 原文2:Vue. ...
随机推荐
- C++ 重载函数与模板函数
1.重载函数 两个以上的函数取相同的函数名,但是函数形参的个数或者类型不同,编译器会根据实参与形参的类型和个数进行最佳匹配,自动确定调用哪一个函数. example: int add(int x,in ...
- video.js在iframe中如何解决无法自动播放问题
问题 使用video.js播放视频,如果集成在iframe中,无法自动播放,如何解决呢?其实很简单,设置下 allow="autoplay" ,如下所示: <iframe s ...
- Typora自动上传gitee图床(知乎文章自动上传图片)
在我日常使用Typora的过程中,经常会想将文档分享给其他人或者想将文档上传到知乎或者其他博客. 但是,由于我编写的Markdown文件中的图片都位于本地,所以想将文档中的图片上传有两个选择: 将Ma ...
- PostgreSQL初始化数据
1.建表插入数据#创建COMPANY表,数据内容如下:DROP TABLE COMPANY;CREATE TABLE COMPANY(ID INT PRIMARY KEY NOT NULL,NAME ...
- PHP 性能优化深度指南:那些被忽视的高效策略
PHP 性能优化深度指南:那些被忽视的高效策略 PHP 驱动着网络的大部分内容,但和其他编程语言一样,只有做好性能优化才能发挥真正实力.PHP 确实以学习简单.开发快速著称,但当应用面临高并发时,问题 ...
- 布局机器人,vivo用三十年技术沉淀回答“时代之问”
科技创新给产业界带来最大的影响就是"跨界焦虑".不敢错过,这是企业面对风口的普遍心态.生怕一波没跟上,就被时代淘汰了. 但不错过,并不等于抓得住.比如元宇宙概念经历资本狂欢,无数科 ...
- 在黑土地里种上 AI 的种子
一到冬天,哈尔滨再次坐上顶流的位置.从哈尔滨冰雪大世界到亚布力滑雪场,每一处细节都透露出这座城市对文化的尊重与创新的渴望,吸引着来自全国的"小土豆". 哈尔滨的创新远不止于文旅,还 ...
- QOJ # 9435. Welcome to NPCAPC/C - npcapc
QOJ # 9435. Welcome to NPCAPC/C - npcapc 题意 有 \(t\) 次询问,每次给出一个 \(n\),问有多少个长度为 \(n\) 的包含大小写的字符串满足包含 \ ...
- 数据库启动报ORA-600 6711故障分析处理---惜分飞
联系:手机/微信(+86 17813235971) QQ(107644445) 标题:数据库启动报ORA-600 6711故障分析处理 作者:惜分飞版权所有[未经本人同意,不得以任何形式转载,否则有进 ...
- 读loki有感,编译阶段发现两个类能否转化
开发环境:VS2005(VC8) 以下代码在VS2002上运行不了,据说VS2002(VC7)不完全支持偏特化,VS2003(VC7.1)就支持了. 问题提出: 一,已知类型T,U,在编译阶段如何知道 ...