webpack 一直使用不了babel 最主要的问题是因为js打包没有办法使用new class
时间: 2023-02-13 16:27:41 浏览: 47
对于这个问题,我想提出几个可能的原因:
1. 您没有安装 babel 的相关依赖,例如 @babel/core 和 @babel/preset-env。
2. 您的 webpack 配置文件中没有正确的配置 babel,例如在 module.rules 中添加了相应的 babel-loader 规则。
3. 您的代码中使用了未在 @babel/preset-env 中包含的语法,导致 babel 无法正确编译。
4. 其他问题,例如您使用了错误的版本的 babel-loader,导致其与 webpack 版本不兼容。
如果您遇到了其他问题,请告诉我更多的信息,我会尽力帮助您解决。
相关问题
webpack打包使用 terser-webpack-plugin删除console.log不生效
你好!关于你的问题,我可以提供一些帮助。要在 webpack 打包过程中使用 `terser-webpack-plugin` 删除 `console.log`,你需要确保已正确配置和使用该插件。以下是可能需要检查的几个步骤:
1. 确保已安装 `terser-webpack-plugin`。可以通过运行以下命令来安装它:
```
npm install terser-webpack-plugin --save-dev
```
2. 在 webpack 配置文件中,确保引入 `terser-webpack-plugin`:
```javascript
const TerserPlugin = require('terser-webpack-plugin');
```
3. 在 optimization 配置中,添加 `TerserPlugin`:
```javascript
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
compress: {
drop_console: true // 删除 console.log
}
}
})
]
}
```
4. 确保 webpack 配置文件中其他的配置项没有影响到插件的执行。特别是注意是否存在其他插件或配置与 `TerserPlugin` 冲突。
完成上述步骤后,重新运行 webpack 打包命令,应该就能够删除代码中的 `console.log` 了。如果问题仍然存在,可以提供更多关于你的 webpack 配置文件的信息,以便我能够更具体地帮助你解决问题。
如何直接使用webpack打包的js
如果您想直接使用 webpack 打包的 js,可以按照以下步骤进行操作:
1. 下载打包好的 js 文件,通常会命名为 `bundle.js` 或者 `main.js`。
2. 在您的 HTML 文件中添加以下代码:
```html
<script src="path/to/bundle.js"></script>
```
其中 `path/to/bundle.js` 是您下载的打包好的 js 文件的路径。
3. 在您的 JavaScript 代码中使用打包好的模块。可以使用 `require` 或者 `import` 语句来引入模块。例如:
```javascript
const moduleA = require('./moduleA'); // CommonJS 格式
import moduleB from './moduleB'; // ES6 格式
```
4. 在您的代码中使用导出的函数、类、变量等。例如:
```javascript
const result = moduleA.add(1, 2);
const instance = new moduleB.MyClass();
```
请注意,如果您使用的是 webpack 5 或更高版本,您需要在打包时将 `output.library` 设置为 `'umd'` 或者 `'umd2'`,以便在浏览器中使用导出的模块。此外,您还需要在打包时设置 `output.libraryExport`,以便您可以选择导出哪个变量或函数。具体的配置方法可以参考 webpack 的文档。