收藏
回答

不支持angular编译后mainjs 的“static { }”语法,网页报错,怎么办?

class AnimationBuilder {
  static {
    this.ɵfac = function AnimationBuilder_Factory(t) {
      return new (t || AnimationBuilder)();
    };
  }
  static {
    this.ɵprov = /* @__PURE__ */_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({
      token: AnimationBuilder,
      factory: () => (() => (0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(BrowserAnimationBuilder))(),
      providedIn: 'root'
    });
  }
}
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](AnimationBuilder, [{
    type: _angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable,
    args: [{
      providedIn: 'root',
      useFactory: () => (0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(BrowserAnimationBuilder)
    }]
  }], null, null);
})();
回答关注问题邀请回答
收藏

4 个回答

  • 马潮毅
    马潮毅
    07-10

    我遇到同样的问题,使用的是 vite 6 + vue3 创建的项目,解决方法是在 vite.config.js 里加上 esbuild: { target: 'es2020' } 这段代码。完整代码示例:

    export default defineConfig({

    esbuild: {

    target: 'es2020'

    },

    plugins: [

    vue(),

    AutoImport({

    resolvers: [VantResolver()],

    }),

    Components({

    resolvers: [VantResolver()],

    })

    ],

    css: {

    preprocessorOptions: {

    less: {

    additionalData: `@import "./src/assets/less/variables.less";`,

    },

    },

    },

    resolve: {

    alias: {

    '@': '/src',

    "@assets": "/src/assets"

    },

    }

    })


    07-10
    有用
    回复
  • Teamop
    Teamop
    06-11

    原因是:微信开发者工具里面集成的chrome版本太低了, `static {}`这部分是ES2022的新特性,解决办法是angular项目中设置低版本浏览器兼容而不是默认的ES2022和最新的浏览器。

    06-11
    有用
    回复
  • 七
    02-26

    有同样的问题, 我是在webview里面报错

    但我直接在网页打开又是可以的

    02-26
    有用
    回复
  • ____Shadow°彡
    ____Shadow°彡
    02-19

    微信开发者工具打开h5报错

    02-19
    有用
    回复
登录 后发表内容