lzxb/vue-demo

项目拉下来无法运行需要添加@babel/plugin-proposal-optional-chaining支持

iceshu opened this issue · 5 comments

如题,项目用了ts 的 ?。的方法去做 但是没有支持的插件

image

所以需要在
genesis.ts 里 webpackchai增加下支持

class ChainingPlugin extends Plugin {
    /**
     * 修改webpack的配置
     */
    public chainWebpack({ config }: WebpackHookParams) {
        config.module
            .rule("ts")
            .test(/\.(t)sx?$/)
            .use("babel")
            .loader("babel-loader")
            .tap(options => {
                const { plugins } = options;
                plugins.push(["@babel/plugin-proposal-optional-chaining"]);
                options.plugins = plugins;
                return options;
            })
            .end();
    }
}

//这里增加下刚写的
ssr.plugin.use(new ChainingPlugin (ssr));
lzxb commented

这个是@babel/preset-env的bug导致的。它没有根据当前node的版本号,来引入对应的插件。
你的node的版本号多少?

lzxb commented

你可以看下这个配置:
https://fmfe.github.io/genesis-docs/core/#build-browsers
修改一下node的版本号,降低一些,比如我使用12.6就不会有这个问题。

lzxb commented

奈斯。

@JWong1105
这里引用的 我的node版本v14.15.1

import { SSR, Renderer, Plugin, WebpackHookParams } from "@fmfe/genesis-core";