Rollup bundle正确但Vue未定义

问题描述:

我正在使用汇总与vue和typescript进行捆绑。我收到以下错误:Rollup bundle正确但Vue未定义

Uncaught TypeError: Cannot set property 'Vue' of undefined 
Uncaught ReferenceError: Vue is not defined 

我知道这与Vue无法正确加载有关。我的脚本文件上方有Vue。所以我不确定为什么会发生这种情况。有任何想法吗?

这里是我的文件:

// index.html的

<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>View</title> 
    <link href="~/vuecss/styles.min.css" rel="stylesheet"> 
</head> 
<body> 
    <div id="app"></div> 
    <script src="~/vuejs/vendors.min.js"></script> 
    <script src="~/vuejs/app.min.js"></script> 
</body> 
</html> 

// app.ts

import Vue from "vue"; 
import HelloComponent from "./hello/hello.vue"; 

new Vue({ 
    el: "#app", 
    components: { 
    HelloComponent 
    } 
}); 

// hello.vue

<template> 
    <div> 
    <input v-model="name" type="text"> 
    <div>{{name}}</div> 
    </div> 
</template> 

<script lang="ts"> 
    import Vue from "vue"; 

    export default Vue.extend({ 
    data: { name: "World" } 
    }); 
</script> 

<style lang="scss" scoped> 
    body { 
    background: #303030; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 
    font-weight: 300; 
    color: #fff; 
    line-height: 1.5; 
    -webkit-font-smoothing: antialiased; 
    } 
</style> 

//rollup.config.vendors.js(束vuejs)

export default { 
    entry: 'node_modules/vue/dist/vue.min.js', 
    dest: 'vuejs/vendors.min.js', 
    format: 'iife' 
} 

//rollup.config.js(束TS和VUE脚本)

import rollupTS from 'rollup-plugin-typescript2' 
import rollupVue from 'rollup-plugin-vue' 
import rollupSCSS from 'rollup-plugin-scss' 
import rollupUglify from 'rollup-plugin-uglify' 

export default { 
    entry: 'vuesrc/app.ts', 
    dest: 'vuejs/app.min.js', 
    format: 'iife', 

    plugins: [ 
    rollupTS(), 
    rollupVue({ 
     autoStyles: false, 
     styleToImports: true, 
     compileTemplate: true 
    }), 
    rollupSCSS({ 
     output: 'vuecss/styles.min.css', 
     outputStyle: 'compressed' 
    }), 
    rollupUglify() 
    ] 
} 

文件结构截图:https://www.screencast.com/t/GNZ8tvpvy
Vue的是工作,但仍显示错误:https://www.screencast.com/t/6dY52k2n

编辑:添加一个CDN并得到了针对这一错误:

[Vue警告]:您正在使用模板编译器不可用的Vue的仅运行时版本。可以将模板预编译为渲染函数,也可以使用编译器包含的构建。

我修好了。它不工作,当我通过汇总跑VUE只移动文件,重命名,通过这个代码的输出是:

//rollup.config.vendors.js(束vuejs)

export default { 
    entry: 'node_modules/vue/dist/vue.min.js', 
    dest: 'vuejs/vendors.min.js', 
    format: 'iife' 
}