前端生产环境打包异常解决方案:Class constructor [ClassName] cannot be invoked without ‘new’

问题描述

使用--mode production生产模式打包时,运行报如下异常:

前端生产环境打包异常解决方案:Class constructor [ClassName] cannot be invoked without 'new'

问题原因

由于webpack打包时未正确识别继承类的ts写法,导致构造函数编译结果无法在js环境中正常运行。

解决方案

在启动工程的package.json中添加@vue/cli-plugin-babel依赖。

{
  "devDependencies": {
    "@vue/cli-plugin-babel": "4.5.15",
    "babel-plugin-import": "^1.13.3",
    "babel-plugin-module-resolver": "^4.1.0",
    ...
  }
}

在启动工程的vue.config.js中添加configureWebpack.module.rules配置,将node_modules中的vue-admin-base以及vue-admin-layout使用@babel/preset-env进行转译。

module.exports = {
  ...
  configureWebpack: {
    module: {
      rules: [
        {
          test: /\.js$/,
          include: /node_modules[\\/]@kunlun[\\/]vue-admin-base|vue-admin-layout/,
          use: {
            loader: 'babel-loader',
            options: {
              presets: ['@babel/preset-env']
            }
          }
        },
        ...
      ],
      ...
    }
  }
  ...
};

Oinone社区 作者:张博昊原创文章,如若转载,请注明出处:https://doc.oinone.top/frontend/16158.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
张博昊的头像张博昊数式管理员
上一篇 2024年8月17日 下午3:50
下一篇 2024年8月19日 上午10:53

相关推荐

  • 如何自定义表格字段?

    4.x版本开始,表格字段的渲染做了优化,同时自定义的vue文件的入口也换了新写法,普通组件的通过this.setComponent自定义vue组件,由于表格内字段同时还会有编辑态,所以入口改到了renderDefaultSlot方法内,示例代码如下 import { SPI, ViewType, BaseFieldWidget, Widget, TableN…

    2023年11月6日
    12000
  • 如何自定义指定页面的样式

    可以通过在layout上给页面元素加css的class来解决此问题 import { registerLayout, ViewType } from '@kunlun/dependencies'; export const install = () => { registerLayout( ` <!– 给视图加class -…

    2024年8月16日
    7600
  • 【界面设计器】树形表格

    阅读之前 你应该: 熟悉模型的增删改查相关内容。【界面设计器】模型增删改查基础

    2024年4月19日
    11600
  • 如何编写自定义字段组件的校验逻辑

    介绍 自定义字段组件的时候,我们可能会遇到有复杂校验规则或者业务上特殊的校验提示信息的场景,这时候可以通过覆写字段的校验方法validator来实现。 示例代码 import { SPI, ValidatorInfo, FormStringFieldWidget, isEmptyValue, isValidatorSuccess, FormFieldWidg…

    2024年8月23日
    30000
  • 表格字段API

    BaseTableFieldWidget 表格字段的基类. 示例 class MyTableFieldClass extends BaseTableFieldWidget{ } 内置常见的属性 dataSource 当前表格数据 rootData 根视图数据 activeRecords 当前选中行 userPrefer 用户偏好 width 单元格宽度 mi…

    2023年11月16日
    6200

发表回复

登录后才能评论