Laravel Webpack mix.js无法使用扩展名.vue进行编译

时间:2018-08-18 12:16:10

标签: laravel webpack vue.js

我是Laravel的webpack的新手。我已经设法将默认脚本编译为一个。但是,当我尝试在单独的文件夹中添加新的Vue控制器时,似乎在npm run dev期间将不包括该新控制器。

目前,我已经设置好了

-assets
 --js
 ---app.js
 ---test.vue


    mix.js([
        'resources/assets/js/app.js',
        'resources/assets/js/test.vue'
    ], 'public/js/app.js');

这将起作用。但是,当我将test.vue放在文件夹中时。

-assets
     --js
     ---app.js
     --controllers
     --test.vue


        mix.js([
            'resources/assets/js/app.js',
            'resources/assets/js/controllers/test.vue'
        ], 'public/js/app.js');

但是,当我将其从test.vue更改为test.js时,它将进行编译。文件扩展名重要吗?编译mix.js时?

有人可以帮我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果我没记错的话,没有某种加载程序就无法使用webpack编译单个.vue文件

使用Vue.component()并将vue文件导入.js文件,然后编译.js即可。

这可能会有所帮助:https://github.com/vuejs/vue-loader

  

Vue单文件组件(SFC)规范   * .vue文件是一种自定义文件格式,使用类似于HTML的语法来   描述Vue组件。每个* .vue文件由三种类型的   顶级语言块:,和   可选的其他自定义块:

     

vue-loader将解析文件,提取每个语言块,然后通过管道传输它们   通过其他装载机(如有必要),最后将它们重新组装   进入默认导出为Vue.js组件选项的ES模块   对象。