【发布时间】:2020-05-09 01:48:48
【问题描述】:
我正在尝试在我的公司使用 Vue。目前我们没有使用任何像 Webpack 这样的 Javascript 构建工具。这意味着没有 Babel,(Babel-Standalone 也不是一个选项)。 No Babel 意味着没有 Template Literals (``),这使得在纯 Javascript 文件中定义组件变得很痛苦(Internet Explorer 不支持 Template Literals,并且要在干净的多行代码中在 Javascript 中定义模板,您需要 Template Literals,我们需要 IE支持)。我的团队已经同意在不久的将来转向 Laravel 和 Vue,但我们正在通过服务器迁移和代码更新,然后才能正确使用 Vue。
所以我想我会尽量模仿 .vue 布局。首先,我在 PHP 或 HTML 文件中创建组件,在 X-Template 中定义模板以及 Vue 组件实例化和样式。在我的 PHP 控制器/类/等中。我需要该文件,它在 DOM 中呈现。此解决方案有效,但我有几个问题。
- 是否有任何不可预见的问题?
- 有没有办法将这些 .php/HTML 文件的内容作为源包含而不是在 DOM 中呈现?
示例
// MyComponent.php or MyComponent.html
<script type="text/x-template" id="my-component-template">
// component template definition
</script>
<script>
Vue.component('myComponent', {
template: '#my-component-template',
// component vue data/methods/etc
});
</script>
<style>
// component styling
</style>
-
// MyPhpClass.php
public function includeComponents() {
include('path/to/MyComponent.php');
}
-
我已经研究了很多关于在没有捆绑器的情况下使用 Vue 的问题。以下是一些有用的主题。
-
Can we make vue.js application without .vue extension component and webpack?
- 这里有很多非常好的信息,但建议集中在使用带有模板文字的 .JS 文件,这对我们来说是不可能的
-
Vue components without webpack/npm/yarn
- http-vue-loader 的建议似乎很有帮助,但我将无法使用 Vue 之外的任何外部库
【问题讨论】:
-
1.一些功能需要 Webpack .vue 格式加载器,可以想到范围样式。 2.这需要Vue SSR,即Node.js Web服务器,它评估JS代码并将其渲染为HTML输出,您可以使用外部预渲染服务。
-
如果你用的是Vue3,看看github.com/FranckFreiburger/vue3-sfc-loader它对外部库的支持更好
标签: javascript php vue.js