【问题标题】:ERROR in multi ./main.js . Module not found: Error: Can't resolve '/home/user/workspace/webpack'多 ./main.js 中的错误。找不到模块:错误:无法解析“/home/user/workspace/webpack”
【发布时间】:2017-05-24 12:11:52
【问题描述】:

我在捆绑 2 个独立的 javascript 文件时遇到问题。

index.html

<html>
<head>
<title>experiment</title>
<script src="main.js"></script>
<script src="new.js"></script>
</head>
<body>
<form>
<button onclick="firstButton();">firstButton</button>
<button onclick="secondButton();">secondtButton</button>
</form>
</body>
</html>

ma​​in.js

function firstButton() {

console.log("First Button");    
}

new.js

function secondButton(){
    alert("Second Button");
}

webpack.config.js

module.exports = {
  entry: './main.js',
  output: {
    filename: './bundle.js'
  }
};

当运行 webpack . 命令然后在终端上得到这个错误

Hash: 8a3cc31d526703c3b9fa
Version: webpack 2.5.1
Time: 88ms
      Asset     Size  Chunks             Chunk Names
./bundle.js  2.91 kB       0  [emitted]  main
   [0] ./main.js 57 bytes {0} [built]
   [1] multi ./main.js . 40 bytes {0} [built]

ERROR in multi ./main.js .
Module not found: Error: Can't resolve '/home/user/workspace/webpack' in '/home/user/workspace/webpack'
 @ multi ./main.js .

我也试过这个 webpack.config.js

const config = {
  entry: {
    a : './main.js' ,
    b : './new.js'
  } ,
   output: {
    filename: 'bundle.js',
    path: '/home/user/workspace/webpack'
  }
};

module.exports = config;

这是我得到的错误..

user@user-ThinkPad-T420s:~/workspace/webpack$ webpack .
Hash: 44a14163f4c0c760c3ad
Version: webpack 2.5.1
Time: 89ms
    Asset     Size  Chunks             Chunk Names
bundle.js  2.69 kB       0  [emitted]  b
   [0] ./main.js 57 bytes {1} [built]
   [1] ./new.js 51 bytes {0} [built]

ERROR in Entry module not found: Error: Can't resolve '/home/user/workspace/webpack' in '/home/user/workspace/webpack'

ERROR in chunk a [entry]
bundle.js
Conflict: Multiple assets emit to the same filename bundle.js

【问题讨论】:

    标签: javascript webpack bundling-and-minification


    【解决方案1】:

    webpack CLI 的任何参数都被解释为入口点(参见Command Line Interface (CLI))。运行时:

    webpack .
    

    . 对应于当前目录,webpack 尝试从中解析一个模块,该模块应该用作入口点。

    你已经在你的 webpack 配置中配置了入口点,因此你应该在不带任何参数的情况下运行 webpack:

    webpack
    

    【讨论】:

    • 我仍然面临问题..你能帮我进一步解决吗?
    • 每个入口点创建一个单独的包,因此您必须使用不同的输出名称,例如filename: '[name].bundle.js'。如需更多信息,请参阅output.filename
    • 好吧..它工作了,现在可以捆绑文件.. a.bundle.js 和 b.bundle.js
    • 是否可以将这两个独立的文件打包成一个js而不改代码?
    • 您可以使用数组作为条目entry: ['./main.js', './new.js']
    猜你喜欢
    • 2019-01-27
    • 2017-07-10
    • 2016-12-10
    • 2017-12-28
    • 2019-07-27
    • 2021-09-13
    • 2017-03-22
    • 1970-01-01
    • 2023-04-11
    相关资源
    最近更新 更多