通过Browserify和Babel 6获得Vue与IE11一起使用

时间:2017-08-15 20:45:22

标签: javascript vuejs2 internet-explorer-11 babeljs browserify

我无法让Vue网站在IE11中一致地工作。我目前正在尝试使用browserify与Babel进行ES5转换,但看起来它并不是一致的(它有时可以工作,但是在对JS文件进行不更改之后(例如添加空格)到一行的结尾),然后重新编译它将突然不起作用。)

我发现错误如:

SCRIPT1006: Expected ')' in _typed_array.js
SCRIPT1002: Syntax error in _collection.js

所以我相信这意味着JS没有被正确地转换成ES5?

这是我的package.json的副本,其中包含我的所有构建脚本:

{
  "private": true,
  "scripts": {
    "watch-js": "watchify -vd -p browserify-hmr -e rest-theme/src/main.js -o rest-theme/dist/build.js",
    "watch-scss": "./node_modules/.bin/node-sass -w --output-style=compressed scss/style.scss rest-theme/dist/build.css",
    "dev": "npm run watch-scss | npm run watch-js",
    "build": "cross-env NODE_ENV=production browserify rest-theme/src/main.js | uglifyjs -c warnings=false -m > rest-theme/dist/build.js"
  },
  "dependencies": {
    "babel-polyfill": "^6.23.0",
    "babel-runtime": "^6.9.2",
    "mixitup": "^3.2.1",
    "vue": "^2.1.1",
    "vue-moment": "^2.0.1",
    "vue-resource": "^1.0.0",
    "vue-router": "^2.1.0",
    "vue-smooth-scroll": "^1.0.13",
    "viewport-units-buggyfill": "^0.6.0",
    "vivus": "^0.4.1"
  },
  "devDependencies": {
    "babel-core": "^6.0.0",
    "babel-plugin-transform-runtime": "^6.9.0",
    "babel-preset-es2015": "^6.9.0",
    "babel-preset-stage-2": "^6.0.0",
    "babel-runtime": "^5.8.0",
    "babelify": "^7.3.0",
    "browserify": "^13.1.1",
    "browserify-hmr": "^0.3.5",
    "cross-env": "^1.0.6",
    "node-sass": "^3.0.0",
    "uglify-js": "^2.5.0",
    "vue-hot-reload-api": "^2.0.6",
    "vueify": "^9.3.0",
    "vueify-insert-css": "^1.0.0",
    "vue-migration-helper": "^1.1.1",
    "watchify": "^3.7.0"
  },
  "browserify": {
    "transform": [
      "vueify",
      ["babelify", { "presets": ["es2015"] }]
    ]
  },
  "browser": {
    "vue": "./node_modules/vue/dist/vue.common"
  }
}

为什么它没有正确编译,没有什么能真正向我跳出来;但是我的语法中可能存在一些不正确的东西,或者有时会导致构建失败的旧版本的东西?

我还在主JS文件的第一行包含了babel polyfill:

import "babel-polyfill"; 
import VueRouter from 'vue-router';
import VueResource from 'vue-resource';
.....

但也许错误地实施了?

如果我能提供更多信息或其他脚本文件来帮助说明任何事情,请告诉我们。

0 个答案:

没有答案