如何在 Laravel Mix 中修改 Vue Loader 设置?

Posted

技术标签:

【中文标题】如何在 Laravel Mix 中修改 Vue Loader 设置?【英文标题】:How can I modify a Vue Loader setting in Laravel Mix? 【发布时间】:2021-02-01 16:41:12 【问题描述】:

顺便说一句,使用 Laravel Mix...并尝试使用 Vue Apollo,它说我们需要将其添加到 babel config:

        
            test: /\.vue$/,
            use: [
                
                    loader: 'vue-loader',
                    options: 
                        transpileOptions: 
                            transforms: 
                                dangerousTaggedTemplateString: true
                            
                        
                    
                
            ]
        ,

但这给了我Failed to mount component: template or render function not defined. 错误,我无法找到解决方案,除了谷歌某处的一个线程说这是因为我使用了两次vue-loader..

因此,我现在尝试做的可能是修复此错误的方法是将 dangerousTaggedTemplateString 设置应用于 .vue 文件的现有 webpack 配置。

有人知道怎么做吗?

【问题讨论】:

你使用的是 Vue-CLI 还是 raw webpack?你在使用 vue-cli-plugin-apollo 吗?你在哪里看到你应该编辑 babel 的配置? This 说 vue.config.js,然后只有当你不使用 vue-cli-plugin-apollo 时 根本不使用 vue-cli,并且您指向的链接还说,当您不使用 vue-cli 时,您应该编辑原始 webpack 配置。我正在编辑 webpack.mix.js,最初它看起来像这样:mix.js('resources/js/app.js', 'public/js').postCss('resources/css/app.css', '公共/css', []) 【参考方案1】:

试试这个(未经测试),不要动你提到的mix.js 行。 然后换行:

mix.options(
   vue: 
      transpileOptions: 
         transforms: 
            dangerousTaggedTemplateString: true
         
      
   
);

【讨论】:

以上是关于如何在 Laravel Mix 中修改 Vue Loader 设置?的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel Mix 中使用 extract() 时 Vue 未加载

如何配置 laravel-mix 以便能够将 @material 与 vue.js 一起使用

Laravel Mix 和 VUE,未找到 VUE

带有 laravel-mix 的 vue-loader 15

Laravel mix 在 vue 组件中看不到 img 元素

Laravel-mix Webpack 公共路径