亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 vue 文件中轉譯箭頭函數?

如何在 vue 文件中轉譯箭頭函數?

海綿寶寶撒 2022-09-02 20:56:09
我有一個Vue應用程序,它應該在ES5瀏覽器(iOS 9)中工作。Vue組件中的一些函數被轉換為Arrow函數:這會破壞iOS9 Safari。我真的不明白為什么有些是正確轉換的,有些不是。()=>例:這是 vue 組件中的一部分:    data() {        return {            birthday: '',            accepted: false,            acceptedForSelectedKids: false        };    },    computed: {        dataPrivacyLink() {            return settings.data_privacy_link;        },        isOverFifTeen() {            if (this.privacyToEdit && this.privacyToEdit.owner.age) {                return this.privacyToEdit.owner.age > 15;            }            if (this.birthday) {                return differenceInCalendarYears(new Date(), new Date(this.birthday)) > 15;            }            return false;        }和 函數被轉譯為箭頭函數,但不是函數。datadataPrivacyLinkisOverFifTeen以下是它的外觀:data:()=>({birthday:"",accepted:!1,acceptedForSelectedKids:!1}),computed:{dataPrivacyLink:()=>settings.data_privacy_link,isOverFifTeen(){return this.privacyToEdit&&this.privacyToEdit.owner.age?this.privacyToEdit.owner.age>15:!!this.birthday&&function(e,t){Object(c.a)(2,arguments);var o=Object(a.a)(e),n=Object(a.a)(t);return o.getFullYear()-n.getFullYear()}(new Date,new Date(this.birthday))>15}這是 webpack 的配置方式:                {                    test: /\.vue$/i,                    loader: 'vue-loader'                },                {                    test: /\.js$/,                    loaders: ['babel-loader'],                    exclude: [/node_modules/]                },這是:babel.config.jsmodule.exports = {    presets: [['@babel/preset-env', { modules: false }]],    plugins: ['@babel/plugin-syntax-dynamic-import'],    env: {        test: {            presets: [['@babel/preset-env']]        }    }};在package.json中,我配置了要使用的瀏覽器:"browserslist": [    "> 0.5%",    "last 2 versions",    "not ie <= 11",    "ios_saf >= 9",    "not dead"  ]如何停止這些箭頭功能?
查看完整描述

2 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

嘗試在 babel.config 中添加插件.js


module.exports = {

    presets: [['@babel/preset-env', { modules: false }]],

    plugins: [

      '@babel/plugin-syntax-dynamic-import',

      '@babel/plugin-transform-arrow-functions' // add this

    ],

    env: {

        test: {

            presets: [['@babel/preset-env']]

        }

    }

}


查看完整回答
反對 回復 2022-09-02
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

如果您使用的是 Webpack 5,則需要在配置中指定要轉譯的功能部件,如下所述:https://webpack.js.org/configuration/output/#outputenvironment。ouput.environment


output: {

  // ... other configs

  environment: {

    arrowFunction: false,

    bigIntLiteral: false,

    const: false,

    destructuring: false,

    dynamicImport: false,

    forOf: false,

    module: false,

  },

}


查看完整回答
反對 回復 2022-09-02
  • 2 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號