沒(méi)事不要用最新版或者webpack3,等于自殺,建議用webpack2,3還是一堆坑。。。
webpack3.8.1 webpack-dev-server 無(wú)法實(shí)現(xiàn)熱更新,官網(wǎng)的例子跟著寫(xiě)一樣不行,已經(jīng)上網(wǎng)找了很多資料,根本不知道是什么原因,難道新版本的問(wèn)題還是我設(shè)置的問(wèn)題?每次都要手動(dòng)刷新,是配置哪里設(shè)置錯(cuò)了?折騰了一晚上。說(shuō)漏了關(guān)鍵點(diǎn),index.html文件是靜態(tài)文件,引入build.js的,index.html文件不在watch中。。。翻到論壇中的一篇文章的作者說(shuō)到
官網(wǎng)的文檔:https://doc.webpack-china.org...
已經(jīng)使用webpack --watch 監(jiān)聽(tīng),但奇怪的是每次修改文件都會(huì)生產(chǎn)多一個(gè)js和json
如下面這樣
0.a3bbf6cf39dcba749b38.hot-update.js
a3bbf6cf39dcba749b38.hot-update.json
好像設(shè)置了publicPath為下面那樣才會(huì)有熱更新log日志輸出
版本環(huán)境,編輯器已關(guān)閉安全模式
"webpack": "^3.8.1",
"webpack-dev-server": "^2.9.5"
webpack.config.js
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: './css.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'build.js',
// publicPath: "http://localhost:8080/dist"
},
module: {
rules: [
{
test: /\.css$/,
use: [
{
loader: "style-loader"
},
{
loader: "css-loader",
options: { importLoaders: 1 }
},
{
loader: "postcss-loader"
}
]
}
]
},
devServer: {
contentBase: './',
hot: true,
inline: true
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
//new webpack.NamedModulesPlugin()
]
}
執(zhí)行命令
"start": "webpack-dev-server --inline --hot --open""start": "webpack-dev-server --inline --hot --open" 加上要執(zhí)行的文件
"start": "webpack-dev-server --config webpack.config.js --inline --hot --open"
還有你可以devSever里面配--inline --hot --open
devServer: {
contentBase:'./',
open: true,
inline: true,
hot: true,
historyApiFallback: true,
port: 8080
},翻了一堆資料終于發(fā)現(xiàn)問(wèn)題在哪里了!!!看了很多文章都沒(méi)怎么說(shuō)這個(gè)路徑是怎么回事,現(xiàn)在算是搞清楚了。
首先devServer的publicPath路徑是指向內(nèi)存生產(chǎn)的路徑,不在物理硬盤上,所以我的index.html里面引用的
js路徑,應(yīng)該相對(duì)于publicPath地址。
注意:publicPath地址默認(rèn)不寫(xiě)會(huì)讀取output的publicPath路徑,publicPath總是以‘/’開(kāi)頭。
網(wǎng)上也說(shuō)建議devServer的publicPath跟output的publicPath一致。最好是相對(duì)路徑?不清楚網(wǎng)上說(shuō)法不一。
修正文件寫(xiě)法:
devServer: {
publicPath: '/', //注意這里,相應(yīng)看html的引用路徑為如果寫(xiě) /test/,那么引用就是 /test/+ 資源文件名
contentBase: './',
historyApiFallback: true,
open: true,
inline: true
},
//命令
es6": "webpack-dev-server --config webpack.es6.js --inline --open"
<body>
<h1>...</h1>
<!--
build.js的路徑是相當(dāng)于publicPath,
之前不能更新是我一直寫(xiě)了webpack watch 出來(lái)的 dist/build.js 中的路徑,真是大錯(cuò)特錯(cuò)了。
-->
<script src="build.js"></script>
</body>
另外如果引入的css文件報(bào)錯(cuò) import './index.css'
試試require('./index.css')引入方式
現(xiàn)在終于修改文件可以實(shí)現(xiàn)自動(dòng)刷新了。。。踩過(guò)的坑才會(huì)印象深刻~/(ㄒoㄒ)/~~
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。