【发布时间】:2016-03-15 01:05:20
【问题描述】:
我正在学习 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.
所以上面的一切看起来都很好。但是,主文件夹或./app 文件夹中没有dress_aphrodite.js 文件。
这是 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 问题部分发布的问题。我的进一步调查结果也记录在 cmets 中。 https://github.com/webpack/webpack/issues/1736
【问题讨论】:
-
如果去掉“输出”字段中的“publicPath”会怎样?
-
@YuWu 刚试过,没有变化。仍然没有错误,也没有输出文件。
-
输出怎么样:{ path: path.resolve(__dirname, ''), filename: 'dress_aphrodite.js' },
-
@YuWu ,这太疯狂了。重新启动系统并更改输出后:{path: __dirname, filename: 'dress_aphrodite.js'},webkit-dev-server 正在工作。 Chrome 开发工具中的“源”选项卡显示 html 和 js 文件。但是,在文件夹中找不到它们?!
-
@YuWu ,是的,您的建议也有效,但是,这两个文件(由 html-plugin 生成的 HTML 和 webpack 输出的 js 文件仍然不在主目录或“app”目录中)...
标签: javascript node.js package webpack babeljs