Function.prototype.toString IE11 中的问题 Svelte/Babel/Rollup
Function.prototype.toString issues in IE11 Svelte/Babel/Rollup
我现在的rollup.config.js是
commonjs(),
babel({
extensions: ['.js', '.mjs', '.html', '.svelte'],
runtimeHelpers: true,
exclude: ['node_modules/@babel/**', 'node_modules/core-js/**' ], // <= /!\ NOT 'node_mobules/**'
presets: [
['@babel/preset-env', {
// adapter to ensure IE 11 support
targets: '> 0.25%, not dead, IE 11',
"modules": false,
"spec": true,
"forceAllTransforms": true,
useBuiltIns: 'usage',
corejs: 3
}]
],
plugins: [
'@babel/plugin-syntax-dynamic-import',
[
'@babel/plugin-transform-runtime',
{
useESModules: true
}
]
]
})
在 IE11 中遇到问题:
Function.prototype.toString: "this" is not a Function object
如何正确解决该问题?
我试过了
将 webcomponents 导入我的 main.js:
进口'node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js';
但未导入此文件:
Unresolved dependencies https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency
node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js
(imported by src\main.js)
这意味着我必须配置
resolve-plugin 但它似乎是不正确的方式,因为它当时被标记为未使用。
正常工作rollup.config
commonjs(),
babel({
extensions: ['.js', '.mjs', '.html', '.svelte'],
runtimeHelpers: true,
exclude: ['node_modules/@babel/**', 'node_modules/core-js/**' ],
presets: [
['@babel/preset-env', {
targets: {
browsers: [
"> 0.25%"
,"not dead"
,"IE 11"
]
},
"modules": false,
"spec": true,
"forceAllTransforms": true,
useBuiltIns: 'usage',
corejs: 3
}]
],
plugins: [
'@babel/plugin-syntax-dynamic-import',
[
'@babel/plugin-transform-runtime',
{
useESModules: true
}
]
]
}),
polyfill(['@webcomponents/webcomponentsjs'])
polyfill 之一是 rollup-plugin-polyfill
我现在的rollup.config.js是
commonjs(),
babel({
extensions: ['.js', '.mjs', '.html', '.svelte'],
runtimeHelpers: true,
exclude: ['node_modules/@babel/**', 'node_modules/core-js/**' ], // <= /!\ NOT 'node_mobules/**'
presets: [
['@babel/preset-env', {
// adapter to ensure IE 11 support
targets: '> 0.25%, not dead, IE 11',
"modules": false,
"spec": true,
"forceAllTransforms": true,
useBuiltIns: 'usage',
corejs: 3
}]
],
plugins: [
'@babel/plugin-syntax-dynamic-import',
[
'@babel/plugin-transform-runtime',
{
useESModules: true
}
]
]
})
在 IE11 中遇到问题:
Function.prototype.toString: "this" is not a Function object
如何正确解决该问题?
我试过了
将 webcomponents 导入我的 main.js:
进口'node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js';
但未导入此文件:
Unresolved dependencies https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js (imported by src\main.js)
这意味着我必须配置 resolve-plugin 但它似乎是不正确的方式,因为它当时被标记为未使用。
正常工作rollup.config
commonjs(),
babel({
extensions: ['.js', '.mjs', '.html', '.svelte'],
runtimeHelpers: true,
exclude: ['node_modules/@babel/**', 'node_modules/core-js/**' ],
presets: [
['@babel/preset-env', {
targets: {
browsers: [
"> 0.25%"
,"not dead"
,"IE 11"
]
},
"modules": false,
"spec": true,
"forceAllTransforms": true,
useBuiltIns: 'usage',
corejs: 3
}]
],
plugins: [
'@babel/plugin-syntax-dynamic-import',
[
'@babel/plugin-transform-runtime',
{
useESModules: true
}
]
]
}),
polyfill(['@webcomponents/webcomponentsjs'])
polyfill 之一是 rollup-plugin-polyfill