- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个 NextJS 网站,它很棒,但它无法在 IE 10/11 中运行,因为某些代码未正确转译。我对 babel 和 webpack 很不熟悉,以前从来没有自己配置过它们。我已经尝试通过在线阅读解决问题两天了,但似乎没有任何效果。
我得到的确切错误是weakSet is not defined
,它来自 common.js 文件。
这是我的 .babelrc 文件,位于项目的根目录中。
//.babelrc
{
"presets": ["next/babel"],
"plugins": [
["styled-components", {
"ssr": true,
"displayName": true,
"preprocess": false
}]
]
}
我的package.json
{
"name": "bradshouse",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "next",
"build": "next build",
"start": "next start"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"next": "^7.0.2",
"react": "^16.6.0",
"react-dom": "^16.6.0",
"react-pose": "^4.0.1",
"styled-components": "^4.0.2"
},
"devDependencies": {
"babel-plugin-styled-components": "^1.8.0"
}
}
如果您有兴趣自己启动它,可以在这里查看完整的存储库。节点模块被排除,因此 npm install,然后 npm run build,然后 npm run start。
https://github.com/TJBlackman/Brads-House
感谢您的帮助!请随意链接文章,我会仔细阅读它们!谢谢。
编辑:作为快速修复,我将此 polyfill 脚本添加到 <head>
我所有的页面,它仍然没有解决这个问题......瓦?! <script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>
最佳答案
如何通过在 NextJS 中转译 node_modules 代码来支持 IE 11
在 ziet/nextjs 问题线程 ( view here ) 中找到的原始答案。大声喊出joaovieira <3
npm install --save-dev babel-polyfill
在您想要的位置创建一个 polyfill.js
,然后在该文件中导入 babel-polyfill
,如下所示:
导入'babel-polyfill';
接下来,如果您没有 next.config.js
文件,请在根目录中创建它。现在更新此文件以包含以下 webpack 配置。请注意它是如何使用您刚刚创建的 polyfill 文件的。完整文件示例:
module.exports = {
webpack: (config) => {
// Unshift polyfills in main entrypoint.
const originalEntry = config.entry;
config.entry = async () => {
const entries = await originalEntry();
if (entries['main.js']) {
entries['main.js'].unshift('./path_to/polyfills.js'); // <- polyfill here
}
return entries;
};
return config;
}
}
最后,如果您的项目根目录中没有 .babelrc
文件,请创建一个。在其中,使用下面与您正在使用的 babel 版本相匹配的代码。
巴别塔 7
{
"presets": [
[
"next/babel",
{
"preset-env": {
"useBuiltIns": "usage"
}
}
]
]
}
通天塔6
{
"presets": [
[
"next/babel",
{
"preset-env": {
"targets": {
"browsers": "defaults"
},
"useBuiltIns": true
}
}
]
]
}
我只知道这些。我什至没有考虑 IE 10...
祝你好运!!
关于reactjs - 为 IE 10/11 转译 NextJS; 'Weakset undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53304140/
和Set一样,WeakSet也是es6新增的一种数据结构,那么它和Set有什么区别呢? WeakSet对比Set主要是两个区别: WeakSet只能放置对象,不能是其他任何类型 WeakSet里面的保
在本教程中,您将借助示例了解 JavaScript Set 和 WeakSet。 JavaScript ES6引入了两种新的数据结构,Set 和 WeakSet。 Set 类似于数组,
我最近更新了一个 React Native 应用程序。但是,在我的大多数模块中,我都遇到了这个错误: # could not be cloned. 例如,在模块上:@react-native-mapb
WeakSet 应该通过弱引用来存储元素。也就是说,如果一个对象没有被其他任何东西引用,那么它应该从 WeakSet 中清除。 我编写了以下测试: var weakset = new WeakSet(
这是我注意到的一些奇怪的事情。由于使用了 WeakSet 并且显然没有其他引用存在,因此以下代码不应破坏内存: 'use strict'; require('babel-polyfill'); con
问题Safely iterating over WeakKeyDictionary and WeakValueDictionary并没有像我希望的那样让我放松,而且它已经足够老了,值得再次询问而不是评
我正在研究是否可以在 python 中实现简单的回调功能。我以为我可以为此使用 weakref.WeakSet,但显然我遗漏了一些东西或被误解了。正如您在代码中看到的那样,我首先尝试使用“ClassA
WeakSet 应该通过弱引用来存储元素。也就是说,如果某个对象未被任何其他对象引用,则应将其从 WeakSet 中清除。 我写了下面的测试: var weakset = new WeakSet(),
我想要一个 Flyweight 对象,因此我创建了一个对象并将其实例存储在 Map 中,如下所示: const FlyweightNumber = (function(){ "use stri
为什么在 WeakSet 中 .add() 一个 Symbol 是不可能的? var ws = new WeakSet(); var sym = Symbol(); ws.add(sym); //er
在尝试理解 JavaScript 的 WeakMaps/WeakSets 时,我阅读了 MDN 文档。 其中写道:“WeakSet 是弱的:对集合中对象的引用被弱保留。如果没有其他对存储在 WeakS
考虑一个说明性的例子: function addSafely(weakset, value) { if (canBeAddedToWeakSet(value)) { weaks
ECMAScript 6 有这些非常相似的集合:Set 和 WeakSet。它们有什么区别? 最佳答案 主要区别在于,对 Set 中对象的引用是强引用,而对 WeakSet 中对象的引用是弱引用。这意
我正在实现一个 WeakSet,它将其元素弱包装在 WeakWrapper 中,以免增加它们的保留计数。 我的问题是,如何创建一个迭代器,以便我可以迭代跳过那些已被释放的元素(即 nil)。 请注意,
已经有一些关于 map 和弱 map 的问题,像这样:What's the difference between ES6 Map and WeakMap?但我想问一下在什么情况下我应该赞成使用这些数据
为什么console.log将弱集显示为 ? [13:37:11] [~] node Welcome to Node.js v14.4.0. Type ".help" for more inform
如何解释以下内容:如果我们注释第一次调用 console.log,则 set.[[Entries]].length 将为 1,如果没有注释 set.[[条目]].length = 0; 输出:长度=0
我正在构建一个 NextJS 网站,它很棒,但它无法在 IE 10/11 中运行,因为某些代码未正确转译。我对 babel 和 webpack 很不熟悉,以前从来没有自己配置过它们。我已经尝试通过在线
#1。缺少 .size 属性的解决方法? 在 JavaScript 中,我以前从未使用过 WeakSet 或 WeakMap,而且我对垃圾收集一般不太了解(我是 PHP + JS 开发人员,所以这是我
我正在使用“react-native-vector-icons”:“^8.1.0”,我得到了这个错误 node_modules/react-native-vector-icons/lib/create
我是一名优秀的程序员,十分优秀!