美文网首页
Class constructor FileManager ca

Class constructor FileManager ca

作者: 小枫学幽默 | 来源:发表于2019-08-19 14:07 被阅读0次

    问题

    前端项目提交测试后,测试同事反馈在Jenkins上点击构建之后,项目等待一会儿后,报错了,无法构建成功

    查看打包日志

    Jenkins上查看控制台输出看到,项目安装依赖包(npm i)没问题,但是npm run build打包后报错,报错如下

    ERROR in ./node_modules/_extract-text-webpack-plugin@3.0.2@extract-text-webpack-plugin/dist/loader.js?{"omit":1,"remove":true}!./node_modules/_vue-style-loader@3.1.2@vue-style-loader!./node_modules/_css-loader@0.28.11@css-loader?{"sourceMap":false}!./node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-9c62c202","scoped":false,"hasInlineConfig":false}!./node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js?{"sourceMap":false}!./node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./src/components/iwen/ueditor.vue
    Module build failed: ModuleBuildError: Module build failed:
    
    Class constructor FileManager cannot be invoked without 'new'
          in undefined (line undefined, column undefined)
    

    查找问题

    • 1、本地打包,正常,没有出现此错误
    • 2、测试服务打包,此错误出现
    • 3、查看 Jenkins打包脚本,发现Jenkins打包前会删除 node_modules重新安装所有的依赖包,查看测试服安装的node_modules中的包,发现确实有部分包与本地的不一样
    • 4、在本地删除 node_modules目录之后,重新运行 npm install && npm run build,错误复现

    多方查找发现此问题跟less有关系,测试服安装的less版本为3.10.1

    https://github.com/less/less.js/issues/3414

    锁定问题 less最新版本3.10.1打包时报错,最新版本的less有问题。

    锁定less版本解决问题

    //改之前
        "jquery": "^3.4.1",
        "less": "^3.8.1",
        "less-loader": "^4.1.0",
    
    //改之后
        "jquery": "^3.4.1",
        "less": "~3.8.1",
        "less-loader": "^4.1.0",
    

    相关文章

      网友评论

          本文标题:Class constructor FileManager ca

          本文链接:https://www.haomeiwen.com/subject/noussctx.html