我正在学习Webpack,一遍又一遍。在最新的版本中,有一件非常奇怪的事情正在发生。CLI报告一切都很好&输出文件dress_aphrodite.js是emitted,但在文件夹中却找不到它。
以下是日志:来自CLI:
http://localhost:8080/webpack-dev-server/
webpack result is served from /app/
content is served from ./app
Hash: 5334867c12acfa65ba90
Version: webpack 1.12.9
Time: 1966ms
Asset Size Chunks Chunk Names
dress_aphrodite.js 390 kB 0 [emitted] main
dress_aphrodite.js.map 479 kB 0 [emitted] main
chunk {0} dress_aphrodite.js, dress_aphrodite.js.map (main) 354 kB [rendered]
[0] multi main 52 bytes {0} [built]
[1] ./~/babel-polyfill/lib/index.js 209 bytes {0} [built]
[2] ./~/core-js/shim.js 4.31 kB {0} [built]
[3] ./~/core-js/modules/es5.js 10.2 kB {0} [built]
...
[263] ./~/ansi-regex/index.js 135 bytes {0} [built]
webpack: bundle is now VALID.所以上面的一切看起来都很好。但是,主文件夹或dress_aphrodite.js文件夹中没有./app文件。
下面是webpack.config.js文件:
var path = require ('path');
var webpack = require ('webpack');
module.exports = {
entry : [
'babel-polyfill',
'./app/da',
'webpack-dev-server/client?http://localhost:8080'
],
resolve : {
extension : ['', '.js', '.jsx', '.json']
},
output : {
publicPath : '/app/',
filename : 'dress_aphrodite.js'
},
debug : true,
devtool : 'source-map',
devServer : {
contentBase : './app'
},
module: {
loaders: [
{
test : /\.js$/,
include : path.join (__dirname, 'app'),
loader : 'babel-loader',
query : {
presets : ["es2015"]
}
}
]
}
};最后,在情况下,任何人都需要package.json文件,如下所示:
{
"name": "dress_aphrodite",
"version": "1.0.0",
"description": "",
"main": "dress_aphrodite.js",
"scripts": {
"start": "node_modules/webpack-dev-server/bin/webpack-dev-server.js"
},
"author": "",
"license": "ISC"
}对于为什么没有发出/呈现输出文件有任何帮助吗?
谢谢
编辑:尝试不使用Output.publicPath (按照YuWu的建议),仍然没有改变。将其更改为path属性&仍然没有更改。
编辑2:作为一种测试,我将html-webpack-plugin添加到webpack.config.js文件中,看看它是否会由webpack发出,是的,显然已经发出了,但我看不见。
编辑3:(与YuWu进行慷慨的对话):webpack-dev-server运行良好,并在js文件中显示window.alert以及通过html-webpack-plugin创建的动态html文件。我记得在全球范围内安装webpack-dev-server。这会是html & js发出的文件被存储的地方吗?我可以在哪里找到Ubuntu 15.1中的全局目录?(不应该是这样,因为package.json在引用'start‘属性时指向本地目录路径.)
编辑4:这是我在webpack github问题部分发布的问题。评论中也提到了我的进一步调查结果。https://github.com/webpack/webpack/issues/1736
发布于 2019-01-21 23:53:53
使用此配置,您将不会看到任何输出到磁盘。
您已经将webpack-dev-server定义为您的入口点之一,并已开始通过项目中的devServer属性设置dev服务器
webpack-dev-server通过运行webpack来工作,并将编译的内容存储在内存中。这样,当您对其中一个文件进行更改并且webpack-dev-server重新编译更改时,它可以这样做。
通过将这些文件存储在内存中,我们消除了I/O延迟,允许webpack快速完成重新编译,并向您的浏览器快速提供文件。
如果希望将文件输出到磁盘上,则应该运行webpack而不是webpack-dev-server,并从配置中的入口点删除webpack-dev-server/...。
https://stackoverflow.com/questions/34184218
复制相似问题