1 Star 0 Fork 0

raintao / webpackTest

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 4.23 KB
一键复制 编辑 原始数据 按行查看 历史
levorain 提交于 2016-11-21 10:35 . 增加了Babel 对es6 react的支持

#webpackTest

  1. 最基础的启动命令为 webpack app/mian.js public/bundle.js 这样打包比较复杂容易出错

一个更好的办法是定义一个配置文件,这个配置文件其实也是一个简单的JavaScript模块,可以把所有的与构建相关的信息放在里面。在当前练习文件夹的根目录下新建一个名为webpack.config.js的文件,并在其中进行最最简单的配置 现在只需要在终端里你运行webpack(非全局安装需使用node_modules/.bin/webpack)命令就可以了,这条命令会自动参考webpack.config.js文件中的配置选项打包你的项目,而且不用管那烦人的命令行参数了

更快捷的执行打包任务 npm可以引导任务执行,对其进行配置后可以使用简单的npm start命令来代替这些繁琐的命令。在package.json中对npm的脚本部分进行相关设置即可 "scripts": { "start": "webpack" //配置的地方就是这里啦,相当于把npm的start命令指向webpack命令 }

  1. Webpack的强大功能 生成Source Maps(使调试更容易) 开发总是离不开调试,如果可以更加方便的调试当然就能提高开发效率,不过打包后的文件有时候你是不容易找到出错了的地方对应的源代码的位置的,Source Maps就是来帮我们解决这个问题的。 通过简单的配置后,Webpack在打包时可以为我们生成的source maps,这为我们提供了一种对应编译文件和源文件的方法,使得编译后的代码可读性更高,也更容易调试。 在webpack的配置文件中配置source maps,需要配置devtool,它有以下四种不同的配置选项,各具优缺点 在配置文件中添加 devtool: 'eval-source-map',//配置生成Source Maps,选择合适的选项

  2. 使用webpack构建本地服务器 想不想让你的浏览器监测你都代码的修改,并自动刷新修改后的结果,其实Webpack提供一个可选的本地开发服务器,这个本地服务器基于node.js构建,可以实现你想要的这些功能,不过它是一个单独的组件,在webpack中进行配置之前需要单独安装它作为项目依赖 devServer: { contentBase: "./public",//本地服务器所加载的页面所在的目录 colors: true,//终端中输出结果为彩色 historyApiFallback: true,//不跳转 inline: true//实时刷新 } 它将在 localhost:8080 启动一个 express 静态资源 web 服务器,并且会以监听模式自动运行 webpack,在浏览器打开 http://localhost:8080/http://localhost:8080/webpack-dev-server/ 可以浏览项目中的页面和编译后的资源输出,并且通过一个 socket.io 服务实时监听它们的变化并自动刷新页面。

安装

$ npm install webpack-dev-server -g

运行

$ webpack-dev-server --progress --colors

  1. 鼎鼎大名的Loaders登场了! Loaders是webpack中最让人激动人心的功能之一了。通过使用不同的loader,webpack通过调用外部的脚本或工具可以对各种各样的格式的文件进行处理,比如说分析JSON文件并把它转换为JavaScript文件,或者说把下一代的JS文件(ES6,ES7)转换为现代浏览器可以识别的JS文件。或者说对React的开发而言,合适的Loaders可以把React的JSX文件转换为JS文件。 Loaders需要单独安装并且需要在webpack.config.js下的modules关键字下进行配置 module: {//在配置文件里添加JSON loader loaders: [ { test: /.json$/, loader: "json" } ] },

Babel其实是一个编译JavaScript的平台,它的强大之处表现在可以通过编译帮你达到以下目的:

下一代的JavaScript标准(ES6,ES7),这些标准目前并未被当前的浏览器完全的支持; 使用基于JavaScript进行了拓展的语言,比如React的JSX Babel的安装与配置 Babel其实是几个模块化的包,其核心功能位于称为babel-core的npm包中,不过webpack把它们整合在一起使用,但是对于每一个你需要的功能或拓展,你都需要安装单独的包(用得最多的是解析Es6的babel-preset-es2015包和解析JSX的babel-preset-react包)。

把babel的配置项写到.babelrc中

NodeJS
1
https://gitee.com/raintao/webpackTest.git
git@gitee.com:raintao/webpackTest.git
raintao
webpackTest
webpackTest
master

搜索帮助