Webpack-没有输出文件,没有报告错误

Webpack - No Output File, No Errors Reported

本文关键字:报告 错误 输出 Webpack- 文件      更新时间:2023-09-26

我正在学习Webpack,并一遍又一遍地学习它。在最新的构建中,发生了一些非常奇怪的事情。CLI报告一切都很好;输出文件dress_aphrodite.jsemitted,但在文件夹中找不到它。

以下是日志:来自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问题部分发布的问题。评论中还提到了我的进一步调查结果。https://github.com/webpack/webpack/issues/1736

使用此配置,预计不会看到任何输出到磁盘的内容。

您已经将webpack-dev-server定义为一个入口点,并开始通过项目中的devServer属性设置开发服务器

webpack-dev-server的工作原理是运行webpack,并将编译的内容存储在内存中。这样,当您对其中一个文件进行更改,并且webpack-dev-server重新编译这些更改时,它可以很快完成。

通过将这些文件存储在内存中,我们消除了I/O延迟,使webpack能够快速完成重新编译并将文件快速提供给浏览器。

如果希望将文件输出到磁盘上,则应该运行webpack而不是webpack-dev-server,并从配置的入口点中删除webpack-dev-server/...