- CommonChunksLoader --- 用来提取公共模块的
用法:在plugins 里面加入:
new webpack.optimize.CommonsChunkPlugin('common.js', ['main1', 'main2'])文件
其中 common.js 是抽取出来的公共的部分, main1 main2 是多入口文件的文件名
- open-browser-webpack-plugin 插件
这个插件可以在webpack 打包完毕后自动打开浏览器而不需要自己输入localhost:xxxx
等等,
配置情况是 下载该插件 然后在weboack.config.js 中引入该插件
var openBrowserWebpackPlugin = require('open-browser-webpack-plugin');
.....
plugins:[
new openBrowserWebpackPlugin({ url: 'http://localhost:8080' })
],
这样配置即可
-
上面的babel学习的资料也提到,.babelrc 文件必须放到根目录的下面,presets里面有什么,就要注意将该文件架子啊进来
-
import 和 require
- 都是加载文件的,但是方式不同,引入一个 css 文件的话:这两者的方式分别是:
- import:
import ./style.css
- require:
require("./style.css")
- import:
- 当然加载其他的文件也是一样 3. import 是es6的语法需要babel支持
- 都是加载文件的,但是方式不同,引入一个 css 文件的话:这两者的方式分别是:
-
在 package.json 的"script"里面加入
"dev": "./node_modules/.bin/webpack-dev-server --progress --colors --content-base build"
同时在webpack.config.js里面配置好devServer。便可以直接使用npm run dev
来运行代码了 -
有关publicPath 的问题:
- publicPath 是当浏览器引用时会制定输出文件的公共url地址,对于嵌入的
script
和link
标签,如果path 和publicPath 不同的时候,publicPath 被作为文件的href或者url 当你想在不同域上处处文件或者在CDN上publicPath很有用,所以如果都不具备这些条件的话,可以直接一个path就够了 不写publicPath了。后面的遇到这个问题再继续搞吧~ - 小伙伴给我找的两篇文章:
- publicPath 是当浏览器引用时会制定输出文件的公共url地址,对于嵌入的
-
又出现一个问题:当我使用npm run dev 运行example-12的例子的时候显示的是
content is served from /xxx/xxx/Desktop/webpack/webpack-example
然后显示的就是根目录 如下图所示: 如果我想进入example-12 的话还得点进去 然后才可以看到结果~- 问题: “ContentBase” 的设置问题
- 解决方案:默认查找的是index.html 所以如果index.html在运行的文件夹下面的话那么就不用写
contentBase
如果是在里面的文件夹下面则:contentBase: "build"
这种形式 PS: build 只是个例子。
-
有关自动刷新的问题,webpack-dev-server 有两种模式支持自动刷新:
- 贴链接就OK了。自动刷新模式
- PS: 模块的热替换和组件级热更新都是上面链接中提到的。
- 一般上述条件做的话就是只刷新html 文件,但是在我们开发中需要刷新的一般不是index.html 也许是css 也许是jsx,所以要实现实时刷新的效果一般的方法是在
React/
下面的refresh-real-time
文件下面写的哪两种方法。