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

时间:2015-12-09 16:42:46

标签: javascript node.js package webpack babeljs

我正在学习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.

所以一切看起来都不错。但是,主文件夹或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文件1}}。我记得在全球范围内安装html-webpack-plugin。这可能是html& js发出的文件正在存储?我在哪里可以找到Ubuntu 15.1中的全局目录? (不应该是这样的情况,因为package.json指向引用'start'属性的本地目录路径...)

编辑4 :这是我在webpack github问题部分发布的问题。我的进一步调查结果也在评论中注明。 https://github.com/webpack/webpack/issues/1736

1 个答案:

答案 0 :(得分:0)

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

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

webpack-dev-server通过运行webpack并将编译内容存储在内存中来工作。这样,当您对一个文件进行更改并webpack-dev-server重新编译所做的更改时,它可以快速地完成操作。

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

如果要将文件输出到磁盘,则应运行webpack而不是webpack-dev-server,然后从配置的入口点删除webpack-dev-server/...