前端开发--webpack--开发环境配置
记录一下前端开发中webpack的传统开发环境配置
一、文件结构

二、webpack.config.js
const { resolve } = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './src/js/index.js',
output: {
filename: 'js/built.js',
path: resolve(__dirname, 'build')
},
module: {
rules: [
{
test: /\.less$/,
use: ['style-loader', 'css-loader', 'less-loader']
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.(jpg|png|gif)$/,
loader: 'url-loader',
options: {
// 小于8kb会采用base64编码格式存储图片
// 减少了请求数量,减轻服务器压力
limit: 8 * 1024,
// 给图片进行重命名
// [hash:10]取图片的hash的前10位
// [ext]取文件原来扩展名
name: '[hash:10].[ext]',
// 问题:因为url-loader默认使用es6模块化解析,而html-loader引入图片是commonjs
// 解析时会出问题:[object Module]
// 解决:关闭url-loader的es6模块化,使用commonjs解析
esModule: false,
outputPath: 'imgs'
}
},
{
// 处理html文件的img图片(负责引入img,从而能被url-loader进行处理)
test: /\.html$/,
loader: 'html-loader'
},
{
// 处理其他资源
exclude: /\.(html|js|css|less|jpg|png|gif)/,
loader: 'file-loader',
options: {
name: '[hash:10].[ext]',
outputPath: 'media'
}
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html'
})
],
mode: 'development',
devServer: {
/*
这里注意DevServer通过HTTP服务暴露出的文件分为两类:
暴露本地文件。
暴露Webpack构建出的结果,由于构建出的结果交给了DevServer,所以你在使用了DevServer时在本地找不到构建出的文件。
contentBase只能用来配置暴露本地文件的规则,可以通过contentBase:false来关闭暴露本地文件。
*/
contentBase: resolve(__dirname, 'build'),
compress: true, // 采用gzip压缩
port: 3000,
open: true // 启动后默认开启浏览器
}
};
三、运行指令
// npx是npm5.2之后发布的一个命令,执行流程如下:
// 1. 去node_modules/.bin路径检查npx后的命令是否存在,找到之后执行;
// 2. 找不到,就去环境变量$PATH里面,检查npx后的命令是否存在,找到之后执行;
// 3. 还是找不到,自动下载一个临时的依赖包最新版本在一个临时目录,然后再运行命令,运行完之后删除,不污染全局环境。
// 比如 npx create-react-app my-react-app,npx 将create-react-app下载到一个临时目录,使用以后再删除。
// 每次运行这个命令,都会重新下载依赖包,运行后删除。
npx webpack-dev-server
前端开发--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的配置是知之甚少,期间有问题也是询问大牛 @吕大豹.顺便说一句,对 ...
- 如何用Python做Web开发?——Django环境配置
用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做“全栈”(full stack ...
- Android 开发基础及环境配置
2011年买了第一部安卓操作系统的手机,当时势头正盛的HTC不可思议(incredible),当时的想法就是想学习下智能手机开发,但是由于各种原因,客观上是公司的项目太忙了,忙于项目管理.团队建设.客 ...
- 使用ionic与cordova(phonegap)进行轻量级app开发前的环境配置与打包安卓apk过程记录
前言 有人说:"如果你恨一个人,就让ta去接触cordova(phonegap)",这是因为这里面的水很深,坑很多,真让人不是一般地发狂.或许有幸运的人儿基本顺顺利利就配置完环境 ...
- VC6.0 +WDK 开发驱动的环境配置
前段时间,系统偶感风寒,挂掉了,苦于又没有备份过,只有重装了.原来开发驱动的环境是VC6+DDK+DriverStudio3.2,当时配置的时候就花了好一阵功夫,也没有彻底搞清楚.现在要重装了,决定改 ...
- [android开发篇]java环境配置
http://www.runoob.com/java/java-environment-setup.html Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. window ...
随机推荐
- Wordpress 修改 Page 页面默认排序
默认 Wordpress 的 Page 页面是按照 Title 升序排序的,如果创建的页面很多,使用起来会很不方面,所以可以通过将以下代码添加到 functions.php 中,实现将 Page 页面 ...
- https://github.com/skulpt/skulpt/issues/685
https://github.com/skulpt/skulpt/issues/685 Yes, you need to pass in your own function during the co ...
- Vue 获取组件名称
Vue2 获取组件名称 获取方式:this.$options.name 解读:通过 Vue2 的 this 关键字,可以很容易地访问 Vue 组件实例对象身上的 $options 的 name 属性来 ...
- ASP.NET Core 警惕可空类型开启之后模型校验失败
在开启 Nullable 可空类型之后,原本可以调用的 API 也许就会提示 400 BadRequest 因为传入参数不合法,模型校验失败,此时将不会进入预期的 API 函数,同时也不会在输出里面找 ...
- Flink 集群安装部署
环境准备 CentOS:7.0 JDK:1.8 Flink 集群:node-01(Master).node-02(Slave).node-03(Slave) 安装与配置 SFTP 上传 Flink 安 ...
- 传统的php Application升级改造,将Session升级到到JWT+Redis,同时能够兼容Session
需求: 1.新的前端采用Vue3,通过Restful API接口与后端进行交互. 2.原有的应用,继续采取前后端一体的方式进行交互. 3.现在需要对原有的SaaS ERP进行渐进式改造,一方面,需要满 ...
- “你好BOE”五周年盛典北京站盛大启幕 携手生态伙伴打造“科技+生活”新场景
8月15至24日,BOE(京东方)年度标杆性线下品牌IP大展"你好BOE"五周年庆典在北京751动力广场盛大开启.作为2025年全球巡展中规模最大.展期最长的旗舰站,本次活动以&q ...
- AIGEO助力企业破局
商务部9月13日发布公告,就美国对华集成电路领域相关措施发起反歧视调查,这一事件凸显了核心技术自主可控的紧迫性.在AI搜索优化领域,不少中国企业正积极创新突破外部限制,跑一跑自研的AIGEO产品便是其 ...
- 用vue写一个日历插件
先上图,看看效果 项目git地址 思路: 实现获取当前时间,新建一个data let now = new Date(); 然后需要判断显示的是否为当月时间 if (cur) { date = new ...
- 功能+情绪,OPPO折叠屏的“韧性”
户外圈"神仙级"品牌始祖鸟开始在中产圈层流行:折叠机被越来越多的消费者认可:蔚来.理想等造车新势力正在替代BBA成为年轻人的新宠:能够提供差异化.个性化体验的中高端酒店越来越受到欢 ...