为什么Vue-loader只是polyfill <script>里面的代码?


#1

预设中vue会把<script>里面的代码转换成ES5让IE11也执行得到,但<template>里面的却没有转换到,让IE执行时报错

<template>
	<div id="app" ref="app">
		<!-- {{ Object.values({ a: '1', b: '2' }) }} -->   <!-- Uncomment 這行讓 IE11 報錯 -->
	</div>
</template>

<script>
	export default {
		mounted() {
			// this.$refs['app'].innerText = Object.values({ a: '1', b: '2' });   // Uncomment 這行不會報錯
		}
	}
</script>

重现做法:生成一个全新的webpack vue项目再把代码贴上App.vue就可以试得到。 我只想知道为何<template><script>的polyfill效果有差异,是我做错了什么吗?

我知道我可以在起始点用babel-polyfill解决这个问题,但我想知道为什么<template><script>的polyfill效果有差异,背后的运作原理