Keyword const should be transpiled to var because I've applied .browserslistrc with ie 9 for Babel 7.
It seems to be that code from vue-component-compiler is not transpiled to ES5 partially.
"rollup-plugin-babel": "^4.0.3",
"rollup-plugin-vue": "^4.3.2",
I get following code that contains const not var!
var __vue_staticRenderFns__ = [];
__vue_render__._withStripped = true;
/* style */
const __vue_inject_styles__ = undefined;
/* scoped */
const __vue_scope_id__ = undefined;
/* module identifier */
const __vue_module_identifier__ = undefined;
/* functional template */
const __vue_is_functional_template__ = false;
/* component normalizer */
function __vue_normalize__(
template, style, script$$1,
scope, functional, moduleIdentifier,
createInjector, createInjectorSSR
) {
const component = (typeof script$$1 === 'function' ? script$$1.options : script$$1) || {};
Create babel.config.js
module.exports = (api) => {
api.cache(api.env('development'));
const presets = [
['@babel/preset-env', {
modules: false,
useBuiltIns: false,
forceAllTransforms: true,
}],
];
const plugins = [
'@babel/plugin-proposal-export-default-from',
'@babel/plugin-proposal-export-namespace-from',
'@babel/plugin-proposal-class-properties',
'@babel/plugin-proposal-object-rest-spread',
['@babel/plugin-transform-runtime', {
corejs: 2,
helpers: true,
regenerator: false,
}],
];
return {
presets,
plugins,
};
};
Apply plugins
export default () => [
vue({
compileTemplate: true,
css: false,
}),
babel({
exclude: [/\/core-js\//],
runtimeHelpers: true,
}),
css(),
replace({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
}),
resolve(),
commonjs(),
].filter(Boolean);
And .browserslistrc
> 1%
last 2 versions
ie 9
There is related issue https://github.com/rollup/rollup-plugin-babel/issues/260
See https://github.com/rollup/rollup-plugin-babel/issues/260#issuecomment-429085745
We have to add .vue extension to babel handled files.
Most helpful comment
There is related issue https://github.com/rollup/rollup-plugin-babel/issues/260