与 IE11 反应不起作用,显示空白屏幕
Posted
技术标签:
【中文标题】与 IE11 反应不起作用,显示空白屏幕【英文标题】:react with IE11 is not working, displaying blank screen 【发布时间】:2018-06-17 08:26:32 【问题描述】:当尝试在 IE11 中加载应用程序时,它只会显示空白屏幕和语法错误
在这条线上
class App extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"]
我的 package.json
"name": "ccp-react",
"version": "1.0.0",
"license": "MIT",
"scripts":
"start": "webpack-dev-server",
"build": "webpack"
,
"private": true,
"dependencies":
"babel-plugin-lodash": "^3.3.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react-optimize": "^1.0.1",
"babel-preset-stage-1": "^6.24.1",
"bootstrap": "^3.3.7",
"classnames": "^2.2.5",
"create-react-class": "^15.6.2",
"cross-env": "^5.1.3",
"gulp": "^3.9.1",
"hammerjs": "^2.0.8",
"lodash": "^4.17.4",
"ng": "0.0.0-rc6",
"ng-cli": "^0.7.0",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-icons-kit": "^1.0.7",
"react-redux": "^5.0.6",
"react-router": "^4.2.0",
"react-router-dom": "^4.2.2",
"react-side-bar": "^0.3.5",
"react-sidenav": "^2.1.2",
"redux": "^3.7.2",
"rxjs": "^5.5.6",
"systemjs": "^0.20.19",
"web-animations-js": "^2.3.1",
"zone.js": "^0.8.19"
,
"devDependencies":
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/node": "^6.0.95",
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-react": "^6.24.1",
"core-js": "^2.5.3",
"css-loader": "^0.28.8",
"extract-text-webpack-plugin": "^3.0.2",
"html-webpack-plugin": "^2.30.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.3.3",
"karma-jasmine": "^1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"node-sass": "^4.7.2",
"protractor": "~5.1.2",
"sass-loader": "^6.0.6",
"style-loader": "^0.19.1",
"ts-node": "~3.2.0",
"tslint": "~5.7.0",
"typescript": "~2.4.2",
"webpack": "^3.10.0",
"webpack-bundle-analyzer": "^2.8.2",
"webpack-dev-server": "^2.9.7"
我的index.js
文件中有以下导入
import React, Component from 'react';
import ReactDOM from 'react-dom';
import 'core-js/fn/promise';
我的 webpack 设置为
var HTMLWebpackPlugin = require('html-webpack-plugin');
var HTMLWebpackPluginConfig = new HTMLWebpackPlugin(
template: __dirname + '/app/index.html',
filename: 'index.html',
inject: 'body'
);
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const extractSass = new ExtractTextPlugin(
filename: "[name].[contenthash].css",
disable: process.env.NODE_ENV === "development"
);
module.exports =
entry : __dirname + '/app/index.js',
module:
rules: [
test: /\.js$/,
exclude: /node_modules/,
use:
loader: 'babel-loader'
,
test: /\.scss$/,
use: [
loader: "style-loader"
,
loader: "css-loader"
,
loader: "sass-loader",
]
],
,
output:
filename: 'transformed.js',
path: __dirname + '/docs'
,
plugins: [
HTMLWebpackPluginConfig,
extractSass,
new ExtractTextPlugin("styles.css")
]
【问题讨论】:
其他浏览器我得到一个状态错误,我想在这里解决,***.com/questions/48062682/… 【参考方案1】:有同样的问题,想避免npm run eject
,所以我在 index.html 中包含了这个脚本,同时处于开发模式:
<script src="//cdn.polyfill.io/v2/polyfill.min.js"></script>
它适用于 React v16.6.3 中的 npx create-react-app my-app
版本 1
我还需要测试生产,但 127.0.0.1 对我也不起作用,所以我使用带有命令 netlify deploy
的 netlify 并且它起作用了。
【讨论】:
【参考方案2】:我已将我的webpack
和babelrc
更新为以下内容,现在可以使用了。
.babelrc
"presets": [
'es2015', "react",
]
webpack.config.js
module.exports =
entry : [__dirname + '/app/index.js'],
module:
rules: [
test: /\.js$/,
exclude: /node_modules/,
use:
loader: 'babel-loader'
,
test: /\.scss$/,
use: [
loader: "style-loader"
,
loader: "css-loader"
,
loader: "sass-loader",
]
],
,
output:
filename: 'bundle.js',
path: __dirname + '/docs'
【讨论】:
以上是关于与 IE11 反应不起作用,显示空白屏幕的主要内容,如果未能解决你的问题,请参考以下文章
TextInput 在本机反应中不起作用我将它与堆栈导航一起使用
CSS 显示:-webkit-box 在 Internet Explorer 11 中不起作用
折叠在 IE11 上不起作用(Object.keys:参数不是对象)