babel,webpack-dev-server配置
github仓库:https://github.com/llcMite/webpack.git
1、什么是webpack?
webpack可以看做是模块打包机:它做的事情是,将静态资源当成模块打包成一个或者多个文件。并且可以将javascript模块及其它一些浏览器不能直接运行的扩展语言(less,sass,es6,TypeScript)打包成合适的格式以供浏览器使用。
2、webpack和grunt以及gulp相比有什么特性?
webpack与另外两个是没有什么可比性的,gulp/grunt是一种能够优化前端的开发流程,而webpack是一种模块化的解决方案,webpack的优点使得他可以替代gulp和grunt类工具。
注意:现在版本更新的都很快,如果你不是很熟悉最新的版本,最好先使用旧的版本会更好。
这里只记录常用的几个模块配置:
1)babel
首先安装需要的模块babel-preset-react是我配置react的jsx语法用的,不用的可以不需要安装
cnpm install babel-core babel-loader babel-preset-env babel-preset-react --save-dev
然后在webpack.config.js里配置
var path=require('path');
module.exports={
       //入口
    entry:{
        index:'./index.js',
    },
    //输出
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:'bundle.js'
    },
    module:{
        //babel配置
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    presets: ['react', 'env']
                }
            }
        ]
    },
}
2)webpack-dev-server(用于自动刷新和热模块替换(只替换更新的部分而不是页面重载))
cnpm install webpack-dev-server --save-dev
配置webpack.config.js
var path=require('path');
var webpack=require('webpack');
module.exports={
        //入口
    entry:{
        index:'./index.js',
    },
    //输出
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:'bundle.js'
    },
    //webpack-dev-server配置
    devServer:{
        contentBase: path.join(__dirname, "dist"),   //指定服务器资源的配置属性
        port:7000,
        //host:'0,0,0,0'
        overlay: true,  //当编译出错时在浏览器上显示错误
        stats:'errors-only', //打印想要打印的信息minimal","normal","verbose
        compress:true, //当它被设置为true的时候对所有的服务器资源采用gzip压缩
        hot:true,      //自动刷新
        inline:true,   //模块热替换
        // 是否需要跨域去请求接口本地测试
        // proxy: {
        //     "/api":{
        //         target:"xxx.xx.com",
        //         changeOrigin:true,
        //         pathRewrite:{
        //             "^/api":""
        //         }
        //     }
        // }
    },
    module:{
        //babel配置
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    presets: ['react', 'env']
                }
            },
        ]
    },
    plugins:[
       new webpack.HotModuleReplacementPlugin()
    ]
}
babel,webpack-dev-server配置的更多相关文章
- webpack dev server 配置  启动项目报错Error: listen EADDRINUSE
		
Error: listen EADDRINUSE 0.0.0.0:5601 它的意思是,端口5601被其他进程占用. 切换端口即可解决问题
 - 笔记:配置 webpack dev server
		
笔记:配置 webpack dev server 安装 webpack-dev-server 组件 配置 webpack.config.js 配置 增加 html-webpack-plugin 组件 ...
 - 配置Webpack Dev Server 实战操作方法步骤
		
本文摘要:配置 Webpack Dev Server 可以解决本地开发前端应用时,手动执行 webpack 命令或 yarn build 命令,再去浏览器中访问 dist/index.html 的麻烦 ...
 - [Webpack] Access Webpack Dev Server from Mobile Safari on an iPhone
		
Testing your sites on mobile devices is a critical part of the development process. Webpack dev serv ...
 - webpack dev server 和 sublime text 配合时需要注意的地方
		
参考:https://webpack.js.org/guides/development/ Adjusting Your Text Editor Some text editors have a &q ...
 - vue2+webpack 开发环境配置
		
前提条件: 1.安装node.js https://nodejs.org/en/ 下载安装合适的平台 2.安装npm 第一步:初始化项目 新建文件夹 E:\app 推荐vue项目目录结构: confi ...
 - 解决新版本webpack vue-cli生成文件没有dev.server.js问题
		
新版本webpack生成的dev.server.js 在webpack.dev.conf.js中 webpack.dev.conf.js const axios = require('axios') ...
 - VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js
		
VUE开发请求本地数据的配置,早期的vue-lic下面有dev-server.js和dev-client.js两文件,请求本地数据在dev-server.js里配置,最新的vue-webpack-te ...
 - vue模拟后台数据,请求本地数据的配置(旧版本dev-server.js,新版本webpack.dev.conf.js)
		
最近学习一个vue-cli的项目,需要与后台进行数据交互,这里使用本地json数据来模仿后台数据交互流程.然而发现build文件夹下没有dev-server.js文件了,因为新版本的vue-webpa ...
 - webpack.config.js====配置babel
		
参考:https://www.jianshu.com/p/9808f550c6a91. 安装依赖babel-loader: 负责 es6 语法转化babel-preset-env: 包含 es6.7 ...
 
随机推荐
- 竖倾斜ScrollView
			
using UnityEngine; using UnityEngine.EventSystems; public class ObliqueScroll : MonoBehaviour,IDragH ...
 - spring 获取对象的注解
			
BeanDefinition definition = registry.getBeanDefinition(name); if (definition instanceof AnnotatedBea ...
 - 本地设置VirtualBox虚拟机
			
主要是涉及到网卡设置,允许本地ping虚拟机
 - js中获取当天的时间的年月日
			
var d=new Date() var day=d.getDate() var month=d.getMonth() + 1 var year=d.getFullYear() document.wr ...
 - Electron把网页打包成桌面应用并进行源码加密
			
前言 最近想把自己用html+css+js做的网页界面打包成桌面应用,网上一搜,发现Electron是一个不错的选择,试了试,发现效果真的不错.这里记录一下打包过程以作记录,便于自己以后查看学习. 一 ...
 - json字符串、json对象、数组之间的转换
			
json字符串转化成json对象 // jquery的方法 var jsonObj = $.parseJSON(jsonStr) //js 的方法 var jsonObj = JSON.parse(j ...
 - opencv计算两个轮廓之间hu矩相似程度,MatchShapes
			
https://blog.csdn.net/jiake_yang/article/details/52589063 [OpenCV3.3]通过透视变换矫正变形图像 https://blog.csdn. ...
 - P3648 [APIO2014]序列分割(斜率优化dp)
			
P3648 [APIO2014]序列分割 我们先证明,分块的顺序对结果没有影响. 我们有一个长度为3的序列$abc$ 现在我们将$a,b,c$分开来 随意枚举一种分块方法,如$(ab)(c)$,$(a ...
 - CSS 文件引入
			
CSS 文件引入 <html> <head> <!-- link标签引用其他文件.rel="stylesheet" 引用css.href=" ...
 - jQuery 新建函数
			
jQuery 新建函数 格式一: // 格式一:新建添加函数方法并使用 $.extend({ 'xsk':function () { return 'xsk'; } }); // 调用 $.xsk() ...