Javascript const和let不能在Safari 9.x中工作,这是一个传输问题吗?

Javascript const和let不能在Safari 9.x中工作,这是一个传输问题吗?,javascript,webpack,safari,babeljs,transpiler,Javascript,Webpack,Safari,Babeljs,Transpiler,我正在开发的应用程序在Safari上运行时出现问题(它在其他地方运行正常)。在那里,它不会加载我的bundle.js文件,并弹出一条错误消息,说“在严格模式下意外使用了保留字'let' 我从其他几个问题中看到,这很可能是由于一个传输问题——但我不是Webpack或Babel方面的专家,我不知道从哪里着手解决这个问题 这是我的网页包配置(通用)文件: 这是我的package.json: { "name": "last-minute", "v

我正在开发的应用程序在Safari上运行时出现问题(它在其他地方运行正常)。在那里,它不会加载我的bundle.js文件,并弹出一条错误消息,说“在严格模式下意外使用了保留字'let'

我从其他几个问题中看到,这很可能是由于一个传输问题——但我不是Webpack或Babel方面的专家,我不知道从哪里着手解决这个问题

这是我的网页包配置(通用)文件:

这是我的package.json:

{
  "name": "last-minute",
  "version": "1.0.0",
  "description": "connect to others nearby for last-minute hanging out",
  "main": "webpack.prod.js",
  "engines": {
    "node": "9.5.0",
    "npm": "6.1.0"
  },
  "scripts": {
    "test": "jest --config jest.config.json",
    "start": "node server/server.js",
    "build": "webpack --config webpack.prod.js",
    "dev": "webpack --config webpack.dev.js --mode development && node server/server.js",
    "light": "webpack --config webpack.light.js --mode development && node light-server/style-server.js"
  },
  "author": "Doug Sauve",
  "license": "ISC",
  "dependencies": {
    "@babel/core": "^7.0.0-beta.44",
    "@babel/preset-env": "^7.0.0-beta.44",
    "@babel/preset-react": "^7.0.0-beta.44",
    "@google/maps": "^0.4.6",
    "babel-loader": "^8.0.0-beta.2",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-polyfill": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "bcryptjs": "^2.4.3",
    "css-loader": "^0.28.11",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "express": "^4.16.2",
    "google-maps-react": "^2.0.2",
    "jest": "^22.4.4",
    "moment": "^2.22.1",
    "mongoose": "^5.0.14",
    "node-sass": "^4.9.2",
    "nodemailer": "^4.6.5",
    "normalize.css": "^8.0.0",
    "raf": "^3.4.0",
    "react": "^16.3.1",
    "react-dom": "^16.3.1",
    "react-geocode": "0.0.9",
    "react-redux": "^5.0.7",
    "react-test-renderer": "^16.0.0",
    "redux": "^4.0.0",
    "sass-loader": "^6.0.7",
    "socket.io": "^2.1.0",
    "style-loader": "^0.20.3",
    "validator": "^10.2.0",
    "webpack": "^4.4.1",
    "webpack-cli": "^2.0.13",
    "webpack-merge": "^4.1.2"
  }
}

Safari 9不支持ES6“let”。是检查浏览器兼容性的一个相当好的资源。

未经测试的可能性:我稍后将对此进行测试,但如果您尚未解决此问题,请检查您的.babelrc文件

我今天试图解决polyfill的兼容性问题,可能是因为我没有为旧版本的iOS正确配置预设环境。Babel中的此页面显示如何为Safari版本7或更高版本配置预设:


那么你必须这么做吗?@Jeroen是的-我已经用webpack设置了babel loader,我以为它已经在做这项工作了,但我想它并没有涵盖Safari 9的问题。你知道如何让它工作吗?你补充了吗?是的,我补充了。我想知道在这么多东西上使用测试版是否会弄乱它。我尝试将其中的一些版本替换为较新的版本,但在这样做时,无法同时满足所有依赖项。我可能很快会更深入地研究这个问题。
{
  "name": "last-minute",
  "version": "1.0.0",
  "description": "connect to others nearby for last-minute hanging out",
  "main": "webpack.prod.js",
  "engines": {
    "node": "9.5.0",
    "npm": "6.1.0"
  },
  "scripts": {
    "test": "jest --config jest.config.json",
    "start": "node server/server.js",
    "build": "webpack --config webpack.prod.js",
    "dev": "webpack --config webpack.dev.js --mode development && node server/server.js",
    "light": "webpack --config webpack.light.js --mode development && node light-server/style-server.js"
  },
  "author": "Doug Sauve",
  "license": "ISC",
  "dependencies": {
    "@babel/core": "^7.0.0-beta.44",
    "@babel/preset-env": "^7.0.0-beta.44",
    "@babel/preset-react": "^7.0.0-beta.44",
    "@google/maps": "^0.4.6",
    "babel-loader": "^8.0.0-beta.2",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-polyfill": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "bcryptjs": "^2.4.3",
    "css-loader": "^0.28.11",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "express": "^4.16.2",
    "google-maps-react": "^2.0.2",
    "jest": "^22.4.4",
    "moment": "^2.22.1",
    "mongoose": "^5.0.14",
    "node-sass": "^4.9.2",
    "nodemailer": "^4.6.5",
    "normalize.css": "^8.0.0",
    "raf": "^3.4.0",
    "react": "^16.3.1",
    "react-dom": "^16.3.1",
    "react-geocode": "0.0.9",
    "react-redux": "^5.0.7",
    "react-test-renderer": "^16.0.0",
    "redux": "^4.0.0",
    "sass-loader": "^6.0.7",
    "socket.io": "^2.1.0",
    "style-loader": "^0.20.3",
    "validator": "^10.2.0",
    "webpack": "^4.4.1",
    "webpack-cli": "^2.0.13",
    "webpack-merge": "^4.1.2"
  }
}