首页 文章

是否可以使用Rails,Webpacker在 生产环境 中的DOM上安装Vue.js组件?

提问于
浏览
0

我有一个Rails 5.2.1应用程序,并希望以零碎的方式集成Vue;在Foreman启动Rails和webpacker开发服务器的过程中,我在开发过程中一切顺利 .

我将body中的所有内容都包含在id =“vue-app”的div中,并使用packages / app.js中的以下内容安装应用程序:

document.addEventListener('turbolinks:load', () => {
  const app = new Vue(Vue.util.extend({ i18n }, App)).$mount('#vue-app')
})

这在开发中工作正常 - 我可以在任何元素上添加vue指令,并在我需要的任何地方放入我的组件 . 但是,在 生产环境 模式下运行相同的操作(在资产预编译之后)时,应用程序无法安装到#vue-app,只需将其替换为HTML注释即可 . Vue本身正在加载正常,编译看起来很好,一切都被发现 - 它只是默默地无法安装 .

我发现除了重复之外的任何东西:Vue.js app works in development but not mounting template in production with Rails 5.2.0 / Webpacker - blank screen with no errors in console

他的解决方案是将安装更改为新元素上的渲染功能,但结尾为“我仍然不知道如何在 生产环境 中使用DOM作为模板 . ”

如果它不能安装在现有元素上,它会严重削弱Vue的吸引力,所以我很好奇是否可以在 生产环境 中使用Rails / webpacker生成DOM模板?

1 回答

  • 0

    我想我已经解决了我自己的问题 - 我相信它是由package.json中的依赖项不匹配引起的 . 当我在Vue应用程序的其他方面工作时,我可能无意中弄乱了它 . 我生成了一个新的Rails应用程序,添加了Webpacker和Vue,确认它在 生产环境 中使用编译资产的DOM模板,然后将那个干净的package.json中的版本复制到我现有的应用程序中 .

相关问题