2017-07-31 300 views
0

我試圖讓演示工作,它在Chrome中正常工作,但在IE11失敗。IE11語法錯誤與vue.js,webpack和babel

語法錯誤與eval()相關,但僅與IE11有關。這個問題的一個例子可以在這裏看到(查看與IE11):

Example site not working in IE11.

The source is located here.

我已經修改了.babelrc文件看起來像:

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

我的webpack.base.conf.js文件已被更改爲包含babel-polyfill,但沒有g似乎有助於解決這個問題。

app: ['babel-polyfill', './src/main.js'] 

任何建議,非常感謝。

+0

如果有人感興趣,我通過在使用承諾的任何頁面上使用promise polyfill來解決此問題: import'core-js/fn/promise' –

回答

-2

IE不支持箭頭的功能和「語法錯誤」在管線記錄:

boolean: val => (typeof val === 'string' ? val === '' || val === 'true' ? true : (val === 'false' || val === 'null' || val === 'undefined' ? false : val) : val), 

在供應商文件。

+0

不提供解決方案或任何解釋 – tomjm

0

我有類似的問題。在我的情況,這是因爲我在.vuelang="coffee"中使用咖啡標記。 該腳本未被轉換爲ES5,因此我編輯了vue-loader.conf.js來傳輸咖啡腳本。

我已經vue-cli + vuejs-templates/webpack

建這個項目 「建立/ utils.js」

exports.scriptLoaders = function (options) { 
    options = options || {} 

    const coffeeLoader = { 
    loader: 'coffee-loader', 
    options: { 
     transpile: { 
     presets: ['env', 'es2015'] 
     } 
    } 
    } 

    const jsLoader = { 
    loader: 'babel-loader' 
    } 

    return { 
    js: jsLoader, 
    coffee: coffeeLoader 
    } 
} 

「建設/ VUE-loader.conf.js」

module.exports = { 
    loaders: Object.assign({}, 
    utils.cssLoaders({ 
     sourceMap: isProduction 
     ? config.build.productionSourceMap 
     : config.dev.cssSourceMap, 
     extract: isProduction 
    }), 
    utils.scriptLoaders()), 
    transformToRequire: { 
    video: 'src', 
    source: 'src', 
    img: 'src', 
    image: 'xlink:href' 
    } 
} 

這是回購: https://github.com/wataruoguchi/play-vue-cli/commit/0bdb9badf82e60696adb393bc351c48a3e69072c

我沒有在最後使用「babel-polyfill」。

相關問題