javascript - 无法从 Webpack 捆绑文件中找到类引用
问题描述
我对 webpack 和前端开发很陌生。
我有一个包含多个类的 JS 文件,这些类将被其他 JS 文件使用。
问题是当我直接在 Script 标签中添加 JS 文件并在浏览器控制台中检查时,我可以正确检索 Class,但是当我运行 Webpack 并检查捆绑代码时,我无法找到该类的任何引用
以下是测试代码片段:
main.js
class Human1 {
constructor(params) {
this.name = params.name
}
getName(){
console.log(`My name is ${this.name}`);
}
}
用于 webpack 的 JS 文件(创建新的 JS 以避免类名重新声明)
class Human2 {
constructor(params) {
this.name = params.name
}
getName(){
console.log(`My name is ${this.name}`);
}
}
webpackConfig.js:
const path = require('path');
module.exports = {
entry: './human.js',
mode: 'none',
target: "web",
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
},
};
索引.html
<!DOCTYPE html>
<html>
<head>
<title>titlefdf</title>
</head>
<body>
<script type="text/javascript" src="./bundle.js"></script>
<script type="text/javascript" src="./main.js"></script>
<h2> Welcome </h2>
</body>
</html>
当文件以 html 加载时。在控制台窗口中我得到 Human1 但对于 Human2 我得到Uncaught ReferenceError: Human2 is not defined
.
任何原因我做错了什么
解决方案
You can do so by exposing it as Library. Here is the reference link
推荐阅读
- c++ - C ++中动态大小的二维数组中的用户输入
- kubernetes - Kubernetes - 对于 Scale,在扩展 pod (GKE) 时附加持久卷时,pod 处于挂起状态
- javascript - 如何制作一个打开终端并运行一些命令的文件
- date - 在截止日期之前查找多个重叠的“开始日期”和“结束日期”条目的总持续时间?
- python - PIL Image as Bytes with BytesIO 防止硬盘保存
- android - 在我的 react native expo 应用程序中,我可以在哪里找到或生成用于 Firebase 的 build.gradle?
- html - Angular Material DatePicker 不可见
- vuejs2 - 为什么在 vuejs 中导入的 Twilio 无效?
- macos - 如何自定义 NSTextField 的焦点环颜色?
- python-3.x - 如何分隔 if 语句和退出代码以正确执行程序?