在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue-cli 如何配置支持IE9以上 (ES6 轉(zhuǎn) ES5)

vue-cli 如何配置支持IE9以上 (ES6 轉(zhuǎn) ES5)

在用vue-cli開發(fā)環(huán)境中遇到根本沒有將ES6轉(zhuǎn)成ES5,導(dǎo)致IE瀏覽器無(wú)法識(shí)別出現(xiàn)白屏

嘗試使用各種babel插件,配置都沒有實(shí)際作用,在開發(fā)環(huán)境中還是無(wú)效(webpack-dev-server 版本也降低到了2.5.1)

相關(guān)代碼

webpack.base.conf.js

test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test')],
exclude: /node_modules/

.babelrc

{
"presets": [
  ["env", {
    "modules": false,
    "targets": {
      "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
  }
 }],
"stage-2"
  ],
 "plugins": ["transform-vue-jsx", "transform-runtime"]
}


![ package.json][1]
![錯(cuò)誤地點(diǎn)][2]

期望在IE10以上跑起來(lái)

回答
編輯回答
拽很帥

已解決,解決方案如下

1,更改devtool參數(shù),在index.js中

devtool: 'source-map',

這樣我們就能得到具體的錯(cuò)誤信息.

2,如果我們還使用了ES6中的API,比如Promise,它將不會(huì)得到IE瀏覽器的支持,所以我們需要引用 'babel-polyfill'

webpack.base.conf.js
entry: {
    normal: ['babel-polyfill', './src/main.js']
},
main.js
import 'babel-polyfill';

3,引用插件是否已經(jīng)得到正確的編譯,我所使用到的插件,比如element-ui,vis等沒有得到正確的編譯,更改 'webpack.base.conf.js'文件

{
    test: /\.js$/,
    loader: 'babel-loader',
    include: [resolve('src'), resolve('test'), resolve('/node_modules/element-ui/src')]
}
// 前提是你必須安裝對(duì)應(yīng)的工具依賴
{
    test: /node_modules[\\\/]vis[\\\/].*\.js$/,
    loader: 'babel-loader',
    query: {
      cacheDirectory: true,
      presets: [ "babel-preset-es2015" ].map(require.resolve),
      plugins: [
        "transform-es3-property-literals", // #2452
        "transform-es3-member-expression-literals", // #2566
        "transform-runtime" // #2566
      ]
    }
  }

上下文環(huán)境

Node v8.11.3
npm v5.6.0

package.json 文件

"dependencies": {
    "axios": "^0.18.0",
    "babel-preset-es2015": "^6.24.1",
    "element-ui": "^2.4.5",
    "js-cookie": "^2.2.0",
    "lodash": "^4.17.10",
    "md5": "^2.2.1",
    "moment": "^2.22.2",
    "vee-validate": "^2.1.0-beta.6",
    "vue": "^2.5.2",
    "vue-cookies": "^1.5.6",
    "vue-iconfont": "^1.1.0",
    "vue-router": "^3.0.1",
    "vuex": "^3.0.1"
  },
  "devDependencies": {
    "autoprefixer": "^7.1.2",
    "babel-cli": "^6.26.0",
    "babel-core": "^6.22.1",
    "babel-helper-vue-jsx-merge-props": "^2.0.3",
    "babel-loader": "^7.1.1",
    "babel-plugin-component": "^1.1.1",
    "babel-plugin-syntax-jsx": "^6.18.0",
    "babel-plugin-transform-runtime": "^6.22.0",
    "babel-plugin-transform-vue-jsx": "^3.5.0",
    "babel-plugin-transform-es3-member-expression-literals": "^6.22.0",
    "babel-plugin-transform-es3-property-literals": "^6.22.0",
    "babel-polyfill": "^6.26.0",
    "babel-preset-env": "^1.3.2",
    "babel-preset-stage-2": "^6.22.0",
    "chalk": "^2.0.1",
    "copy-webpack-plugin": "^4.0.1",
    "css-loader": "^0.28.11",
    "extract-text-webpack-plugin": "^3.0.0",
    "file-loader": "^1.1.4",
    "friendly-errors-webpack-plugin": "^1.6.1",
    "html-webpack-plugin": "^2.30.1",
    "less": "^3.7.0",
    "less-loader": "^4.1.0",
    "node-notifier": "^5.1.2",
    "node-sass": "^4.9.2",
    "optimize-css-assets-webpack-plugin": "^3.2.0",
    "ora": "^1.2.0",
    "portfinder": "^1.0.13",
    "postcss-import": "^11.0.0",
    "postcss-loader": "^2.0.8",
    "postcss-url": "^7.2.1",
    "rimraf": "^2.6.0",
    "sass-loader": "^7.0.3",
    "semver": "^5.3.0",
    "shelljs": "^0.7.6",
    "style-loader": "^0.21.0",
    "stylus": "^0.54.5",
    "stylus-loader": "^3.0.2",
    "uglifyjs-webpack-plugin": "^1.1.1",
    "url-loader": "^0.5.8",
    "vis": "^4.21.0",
    "vue-loader": "^13.3.0",
    "vue-style-loader": "^3.1.2",
    "vue-template-compiler": "^2.5.2",
    "webpack": "^3.6.0",
    "webpack-bundle-analyzer": "^2.9.0",
    "webpack-dev-server": "^2.7.1",
    "webpack-merge": "^4.1.0"
  },

謝謝 Nine 的幫助

2018年4月29日 18:49
編輯回答
殘淚

使用babel-polyfill,它會(huì)仿效一個(gè)完整的 ES2015+ 環(huán)境

2017年12月8日 22:52