基于webpack实现多html页面开发框架五 开发环境配置 babel配置
一、解决什么问题
1、开发环境js、css不压缩,可在浏览器选中代码调试
2、开发环境运行http服务指向打包后的文件夹
3、babel输出浏览器兼容的js代码
二、需要安装的包
   babel-loader:输出浏览器兼容的js代码;命令: npm install --save-dev babel-loader @babel/core @babel/preset-env
webpack-dev-server: 快速搭建本地运行环境;命令: npm install webpack-dev-server --save-dev
三、babe-loader配置
1、在webpack.config.js文件中新增rule,代码如下:
  {
                 test: /\.m?js$/,
                 exclude: /(node_modules|bower_components)/,//不包含node_modules、bower_components
                 use: {
                   loader: 'babel-loader',
                 }
   },
2、在根目录下新增babel配置文件.babelrc,代码如下:
 {
     "presets": ["@babel/env"]
 }
四、开发环配置
1、根目录下新建webpack.dev.conf.js文件,代码如下,代码中有注释,可根据下面的代码自己调试:
 const path = require("path");
 const merge = require("webpack-merge");
 const webpackConfigBase = require("./webpack.config.js");
 const webpackConfigDev = {
     devServer: {
         contentBase: path.join(__dirname, 'dist'),
         // publicPath: '/',
         // host: 'local.pcteam.com.cn',
         // host: '0.0.0.0' || 'config.dev.host', //手机联测使用
         port: '8000',
         overlay: true, // 浏览器页面上显示错误
         open: true, // 开启浏览器
         // stats: "errors-only", //stats: "errors-only"表示只打印错误:
         // hot: true, // 开启热更新
         // inline: true,
         //服务器代理配置项
         disableHostCheck: true,
         proxy: {
             '/api': {
                 target: 'http://test.pcteam.com.cn',
                 changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
                 secure: false,
                 // pathRewrite: {
                 //     '^/files': ''
                 // }
                 //修改服务端返回的cookie路径
                 // cookiePathRewrite: {
                 //     '///': '///',
                 // },
                 //修改服务端返回的cookie domain
                 // cookieDomainRewrite: {
                 //     'unchanged.domain': 'unchanged.domain',
                 //     'pcteam.com': 'local.pcteam.com:8000',
                 //     '*': '',
                 // },
             },
         },
     },
     plugins: [
         //热更新 hot: true 需要同时配置
         // new webpack.HotModuleReplacementPlugin(),
     ],
     // 生成map格式的文件,里面包含映射关系的代码,如果想查看在源文件中错误的位置,则需要使用映射关系,找到对应的位置。
     devtool: 'source-map',
 }
 //合并基础配置和dev配置
 module.exports = merge(webpackConfigBase, webpackConfigDev)
五、开发环配置
在package.json中找到scripts,进行环境区分和配置:
六、测试
1、运行npm run dev会在默认浏览器打开页面,如下图:
  
2、修改js或css会自动刷新页面
源码地址:https://github.com/James-14/webpack4_multi_page_demo
写的不对之处请大家批评指正~~~~!!!!!!
文章原创,转载请注明出处,谢谢!
基于webpack实现多html页面开发框架五 开发环境配置 babel配置的更多相关文章
- 基于webpack实现多html页面开发框架一 准备工作
		
本系列主要介绍如何基于webpack实现多html页面开发框架,这里不讲webpack的基本概念,废话不多说,直奔主题! 前置条件: 1.安装node环境,自己去官网下载安装 2.新建文件夹webpa ...
 - 基于webpack实现多html页面开发框架二 css打包、支持scss、文件分离
		
本节主要介绍webpack打包的时候CSS的处理方式 一.解决什么问题 1.CSS打包 2.CSS处理浏览器兼容 3.SASS支持 4.CSS分离成单独的文件 ...
 - 基于webpack实现多html页面开发框架六  提取公共代码
		
一.解决什么问题 1.如果a.js和b.js都引用了common.js,那在打包的时候common.js会被重复打入到a.js和b.js,造成重复打包 2.单独打包common.js对性能有帮助,浏览 ...
 - 基于webpack实现多html页面开发框架三 图片等文件路径替换、并输出到打包目录
		
一.解决什么问题 1.图片路径替换.并输出到打包目录 2.输出目录清理 二.需要安装的包 file-loader:html.css中图片路径替换,图片输出到打包目录:命令:npm ...
 - 基于webpack实现多html页面开发框架八 html引入图片打包和公共页面模块复用
		
一.解决什么问题 1.html中img引入的图片地址没有被替换,找不到图片 2.html公共部分复用问题,如头部.底部.浮动层等 二.html中img引入图片问题解决 1.在index.html插入i ...
 - 基于webpack实现多html页面开发框架四 自动写入多入口,自动插入多个htmlWebpackPlugin插件
		
一.解决什么问题 1.手写页面多入口,一个一个输入太麻烦,通过代码实现 2.手写多个htmlWebpackPlugin插件太麻烦,通过代码实现 二.多入口代码实现 //读取所有.j ...
 - 基于webpack实现多html页面开发框架七 引入第三方库如jquery
		
一.解决什么问题 1.如何引入第三方库,如jquery等 二.引入jquery方法 1.下载jquery.min.js放到assets/lib下面 2.安装copy-webpack-plugin,将已 ...
 - Webpack笔记(二)——搭建React开发环境
		
前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...
 - 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
		
本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...
 
随机推荐
- CSPS模拟 77
			
%%两位AK爷zkt和skyh T1 位间独立,分别讨论 T2 维护标记,代替移位 T3 同一点对,多种联通,没法搞. 发现最多四路连通,考虑容斥. 显然的奇加偶减. 发现统计某种颜色的点之间的联通数 ...
 - Python基本数据结构之二进制
			
二进制---->ASCII :只能存英文和拉丁字符.一个字符占一个字节,8位----->gb2312:只能6700多个中文,1980------->gbk1.0:村落2万多字符,19 ...
 - oracle直接调用web services
			
oracle调用C#开发web services 1, 去oracle官网上下载dbws-callout-utility-10131.zip 地址:https://oracle-base.com/a ...
 - Unity 横版2D移动跳跃问题——关于一段跳与二段跳
			
1.初始条件: 1.角色只绑定一个碰撞体,移动时施加力或给予速度,用跳跃次数JumpTimes或者bool值OnGround判断是否在地面. 2.只用一个tilemap搭建2D场景,因此所有tilem ...
 - LocalDate类
			
LocalDate类与Date类不同.Date类是距离一个固定时间点的毫秒数(UTC 1970.1.1 00:00:00) Date类表示时间点,LocalDate类用来表示日历表示法. import ...
 - Ubuntu编译安装HAprox+Keepalived+MySQL负载高可用架构(结合Docker容器配置)
			
系统环境:Ubuntu16.04(Docker容器) 架构环境: Keepalived/HAproxy MASTER: 172.17.0.4 Keepalived/HAproxy BACKUP: 17 ...
 - 还看不懂同事的代码?超强的 Stream 流操作姿势还不学习一下
			
Java 8 新特性系列文章索引. Jdk14都要出了,还不能使用 Optional优雅的处理空指针? Jdk14 都要出了,Jdk8 的时间处理姿势还不了解一下? 还看不懂同事的代码?Lambda ...
 - 本地通知-UILocalNotification
			
第一步:创建本地推送 本地通知 UILocalNotification // 创建⼀一个本地推送 UILocalNotification * notification = [[UILocalNotif ...
 - 【笔记】nginx部署静态网站
			
安装nginx 本地到官网下载,然后把压缩包传到服务器上 安装三个依赖 apt-get install libpcre3 libpcre3-dev apt-get install zlib1g-dev ...
 - 如何基于k8s快速搭建TeamCity(YAML分享)
			
前言 最近有朋友基于之前的博客<Docker最全教程之使用TeamCity来完成内部CI.CD流程(十七)>搭建TeamCity时出现了一些问题,由于平常比较忙,没有及时答复,非常抱歉. ...