沒事不要用最新版或者webpack3,等于自殺,建議用webpack2,3還是一堆坑。。。
webpack3.8.1 webpack-dev-server 無(wú)法實(shí)現(xiàn)熱更新,官網(wǎng)的例子跟著寫一樣不行,已經(jīng)上網(wǎng)找了很多資料,根本不知道是什么原因,難道新版本的問題還是我設(shè)置的問題?每次都要手動(dòng)刷新,是配置哪里設(shè)置錯(cuò)了?折騰了一晚上。說漏了關(guān)鍵點(diǎn),index.html
文件是靜態(tài)文件,引入build.js
的,index.html
文件不在watch
中。。。翻到論壇中的一篇文章的作者說到
官網(wǎng)的文檔:https://doc.webpack-china.org...
已經(jīng)使用webpack --watch 監(jiān)聽,但奇怪的是每次修改文件都會(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)問題在哪里了!!!看了很多文章都沒怎么說這個(gè)路徑是怎么回事,現(xiàn)在算是搞清楚了。
首先devServer
的publicPath
路徑是指向內(nèi)存生產(chǎn)的路徑
,不在物理硬盤上
,所以我的index.html
里面引用的
js路徑,應(yīng)該相對(duì)于publicPath
地址。
注意:publicPath
地址默認(rèn)不寫會(huì)讀取output的publicPath
路徑,publicPath
總是以‘/’開頭。
網(wǎng)上也說建議devServer
的publicPath
跟output
的publicPath
一致。最好是相對(duì)路徑?不清楚網(wǎng)上說法不一。
修正文件寫法:
devServer: {
publicPath: '/', //注意這里,相應(yīng)看html的引用路徑為如果寫 /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,
之前不能更新是我一直寫了webpack watch 出來的 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)刷新了。。。踩過的坑才會(huì)印象深刻~/(ㄒoㄒ)/~~
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(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
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(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ū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。