前端生产环境打包异常解决方案: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

相关推荐

  • 如何实现页面间的跳转

    介绍 在日常的业务中,我们经常需要在多个模型的页面之间跳转,例如从商品的行可以直接点击链接跳转到类目详情,还有查看该订单发起的售后单列表,这里将给大家展示如何在oinone中如何实现这些功能。 方法一、通过界面设计器的无代码能力配置 表格行跳转到表单页/详情页 拖入一个跳转动作到表格行,保存动作后,在左侧的动作属性面板底部有个请求配置,里面的上下文属性就是配…

    2024年5月13日
    47500
  • 函数扩展

    oinone 平台内置了一些函数, 如果当前函数不满足,那么可以通过扩展的方式添加函数 后端实现 后端实现 import {Expression} from '@kunlun/dependencies' Expression.getInstance().registerFunction(); registerFunction函数的参数如下…

    2023年11月9日
    17400
  • 默认布局模板(v4)

    默认布局 表格视图(TABLE) <view type="TABLE"> <pack widget="group"> <view type="SEARCH"> <element widget="search" slot="sea…

    2023年11月1日
    13400
  • 自定义视图组件(v4)

    阅读之前 你应该: 了解DSL相关内容。母版-布局-DSL 渲染基础(v4) 了解SPI机制相关内容。组件SPI机制(v4) 什么是视图组件 我们将一个视图中提供数据源的组件称为视图组件。 下面,我们将根据提供的示例布局进行进一步介绍。 示例布局(默认表格视图布局) <view type="TABLE"> <pack w…

    2023年11月1日
    9900
  • 打开弹窗的action,传入默认的查询条件不生效

    场景 form视图中的action,点击后打开table的弹窗的,xml中配置的filter,但是table查询的时候没有带上查询条件: <action name=”action_name” label=”打开tabel弹窗视图” filter=”id==${activeRecord.id}” /> 解决方案 将xml中的activeRecord…

    2023年11月1日
    11800

发表回复

登录后才能评论