让Vue使用Roots Sage 10+Bud Vue-不支持运行时编译



bud-vueSage 10中遇到一些非常奇怪的问题。

我刚刚将项目上的Acron更新为3.1版本。

当运行yarn dev来构建资产时,vue组件不会加载。当我在控制台上查看时,我收到了Vue:的警告

Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".

奇怪的是,这是使用最新版本的bud-vue,也就是6.11.0

bud-vue的文档中,它们规定默认设置运行时编译:

"该扩展已预先配置为支持Vue 3单文件组件(仅限运行时)">

我的所有其他节点包都是最新的,并设置为与bud-vue 相匹配的最新版本

package.json

"devDependencies": {
"@roots/bud": "6.11.0",
"@roots/bud-babel": "^6.11.0",
"@roots/bud-tailwindcss": "6.11.0",
"@roots/bud-vue": "^6.11.0",
"@roots/sage": "6.11.0"
},

我尝试了以下方法来解决这个问题,首先手动声明bud-vue使用模板编译:

app.vue.set('runtimeOnly', true)

并试图为vue设置一个别名,以使用正确的运行时bundler(这在bud-vue的早期版本中是需要的):

.alias('vue', app.path('@node_modules/vue/dist/vue.esm-bundler.js'))

尽管似乎什么都不起作用。配置选项几乎没有反映。。。。

如果有人有任何见解,或者遇到了这个问题并解决了它,我真的很感激一些帮助和指导。

这已经解决:

对于bud-vue,默认值是runtimeOnly设置为true。这捆绑了Vue 3的"仅运行时"版本(即无模板编译器)。

要包含完整的捆绑包,请使用:

app.vue.set('runtimeOnly', false)不需要别名-您可以将其从bud.config.js中删除。

在bud-vue的文档中,他们规定运行时编译是默认设置的:

"该扩展已预先配置为支持Vue 3单文件组件(仅限运行时)。">

这里存在混淆,因为Vue生成的警告指的是"运行时编译",这与"仅运行时"非常相似。

请记住在更改这些设置(yarn run bud cleanyarn dev --force)后清理您的构建。

链接到实际答案:

https://discourse.roots.io/t/getting-vue-to-work-with-sage-10-bud-vue-runtime-runtime-compilation-is-not-supported/25044

相关内容

  • 没有找到相关文章

最新更新