2016-12-24 61 views
1

我有如下的文件結構:不是webpack dev服務器在內存中生成bundle.js嗎?

Project 
| 
+-- src/ 
| | 
| +-- index.js 
| 
+-- index.html 
| 
+-- webpack.config.js 

SRC/index.js:

document.write("Hello World."); 

的index.html:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>webpack learning</title> 

    <script src="builds/bundle.js"></script> 
</head> 
<body> 

</body> 
</html> 

webpack.config.js:

var path = require('path'); 

module.exports = { 
    entry: './src', 
    output: { 
    path: path.join(__dirname, 'builds'), 
    filename: 'bundle.js', 
    } 
}; 

當我在Project目錄中運行webpack-dev-server時,webpack-dev-server會正常啓動並打印出「webpack:bundle現在有效。」但是,當我啓動瀏覽器並轉到localhost:8080時,控制檯抱怨找不到bundle.js。事實上,沒有這樣的文件夾名爲「build」,其中包含bundle.js。但是,是不是webpack-dev-server在內存中生成bundle.js?涉及到任何配置問題?

回答

1

這將有助於看到正在運行的命令,但是如果我不得不以此來猜測這個我會說,你可以不設置--content-basehttps://webpack.js.org/configuration/dev-server/#devserver-contentbase

+0

而且這也將是顯式聲明有用[' output.publicPath'](https://webpack.github.io/docs/configuration.html#output-publicpath)。 – robertklep

+0

當我添加output.publicPath並將其設置爲「builds」時,一切正常。看起來,當webpack-dev-server在內存中生成bundle.js時,它將該文件放在output.publicPath指定的目錄中,並忽略「output.path」設置爲的目錄。因爲無論output.path設置爲什麼,只要output.publicPath保持「build」,控制檯中不會顯示任何錯誤,並且瀏覽器呈現「Hello World」。 –

相關問題