将.vue文件编译为.js文件,不带webpack或browserify

Tim*_*ce7 12 javascript vue.js vue-component vuejs2

有没有办法在没有webpack或browserify的情况下将.vue文件编译成.js文件?我知道webpack或browserify的优点,但我只想要最简单的方法来编译.vue文件.例如,我有一个单一的文件组件comp.vue编译成comp.js(编译器应该能够编译.vue文件SASS和哈巴狗),然后我可以用它在我的应用程序如下图所示:

<head>
    <script src="vue.min.js"></script>
    <script src="comp.js"></script> //it may pack the whole component into variable comp and add the style
    <script>
        Vue.component('comp', comp);
        window.onload = function() {
            new Vue({el: '#app'});
        }
    </script>
</head>
<body id='app'>
    <comp></comp>
</body>
Run Code Online (Sandbox Code Playgroud)

或其他类似/更简单的方式?

Ber*_*ert 10

VUE-CLI工具(2.8.0版)的构建,可以运行建立一个单独的组件命令.

vue build Component.vue --prod --lib
Run Code Online (Sandbox Code Playgroud)

这将创建UMD格式的优化包,并且导出库的名称设置为Component,您可以使用--lib [CustomLibraryName]来自定义它.

您可以使用构建的脚本并将其包含在您的文件中,就像您在问题中一样.从技术上讲,它确实使用了引擎盖下的webpack,但您不必配置任何东西.


Jer*_*emy 5

2021 答案:使用vue build my-component.vue -t lib命令。这可以安装npm i -g @vue/cli-service-global

vue build 将在dist/目录中创建 javascript 。使用标签添加my-component.umd.js到您的页面<script>

此时,my-component 在 window 对象上可用。这是一个注册示例:

    <script src="https://unpkg.com/vue"></script>
    <script src="dist/my-component.umd.js"></script>
    <script>
    new Vue({
      components: {
        "my-component": window["my-component"]
      }
    }).$mount('#app')
    </script>
Run Code Online (Sandbox Code Playgroud)