Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Webpack 4-输出未在正确的位置创建bundle.js_Javascript_Webpack - Fatal编程技术网

Javascript Webpack 4-输出未在正确的位置创建bundle.js

Javascript Webpack 4-输出未在正确的位置创建bundle.js,javascript,webpack,Javascript,Webpack,我最近从网页3升级到了4 这是我的webpack.dev.js文件: module.exports = { mode: 'development', entry: './src/index.js', output: { filename: 'public/bundle.js' }, 预期行为 它应该在public文件夹中创建我的bundle.js 实际行为 它正在一个名为dist 结论 由于某种原因,输出不再正常工作 问题 我应该如何生成文件名

我最近从网页3升级到了4

这是我的webpack.dev.js文件:

module.exports = {
    mode: 'development',
    entry: './src/index.js',
    output: {
        filename: 'public/bundle.js'
    },
预期行为

它应该在
public
文件夹中创建我的
bundle.js

实际行为

它正在一个名为
dist

结论

由于某种原因,输出不再正常工作

问题

我应该如何生成文件名

以下是我运行的脚本:

"scripts": {
    "watch": "./node_modules/.bin/webpack --mode development --watch --progress",
},
Per:

开箱即用的Web包不需要配置文件,它将假定您的项目的入口点是src/index,并将结果输出到dist/main.js中,并针对生产进行了缩小和优化

通常,您的项目需要扩展此功能,为此,您可以在根文件夹中创建一个webpack.config.js文件,webpack将自动使用它

因此,您的文件名为webpack.dev.js,因此webpack不会自动拾取该文件。您需要在监视脚本中指定它

"scripts": {
  "watch": "./node_modules/.bin/webpack --mode development --watch --progress --config webpack.dev.js",
},
您可以通过如下方式更改配置来简化监视脚本:

// package.json
"scripts": {
  "watch": "webpack --progress --config webpack.dev.js",
},

// webpack.dev.js
const path = require('path');
module.exports = {
    watch: true,
    mode: 'development',
    entry: './src/index.js',
    output: {
        path: path.resolve(__dirname, 'public'),
        filename: 'bundle.js'
    },
};
Per:

开箱即用的Web包不需要配置文件,它将假定您的项目的入口点是src/index,并将结果输出到dist/main.js中,并针对生产进行了缩小和优化

通常,您的项目需要扩展此功能,为此,您可以在根文件夹中创建一个webpack.config.js文件,webpack将自动使用它

因此,您的文件名为webpack.dev.js,因此webpack不会自动拾取该文件。您需要在监视脚本中指定它

"scripts": {
  "watch": "./node_modules/.bin/webpack --mode development --watch --progress --config webpack.dev.js",
},
您可以通过如下方式更改配置来简化监视脚本:

// package.json
"scripts": {
  "watch": "webpack --progress --config webpack.dev.js",
},

// webpack.dev.js
const path = require('path');
module.exports = {
    watch: true,
    mode: 'development',
    entry: './src/index.js',
    output: {
        path: path.resolve(__dirname, 'public'),
        filename: 'bundle.js'
    },
};

你如何与webpack捆绑?你能发布你的包的脚本部分吗?嗨,我已经在问题中添加了我运行的脚本。你如何与webpack绑定?你可以发布你的包的脚本部分.json吗?嗨,我已经在问题中添加了我运行的脚本。谢谢,这在一定程度上是可行的,它现在输出到
dist/public/bundle.js
。我通过指定
path
参数编辑了我的答案。现在再试一次。您是否可以将答案修改为
path:\uu dirname+'public',
,因为如果不这样做,它将抛出一个错误。看问题:事实上,在匆忙中我忘记了那个部分。编辑后的结果更有弹性。谢谢,这在一定程度上是可行的,它现在输出到
dist/public/bundle.js
。我通过指定
path
参数编辑了我的答案。现在再试一次。您是否可以将答案修改为
path:\uu dirname+'public',
,因为如果不这样做,它将抛出一个错误。看问题:事实上,在匆忙中我忘记了那个部分。经过编辑,具有更具弹性的可能性。