Vue.js 在较大的项目中创建单个Vue组件
我有一个使用Kirby CMS的PHP项目。我还使用Gulp来构建我的资产。现在,我需要在主页上添加一个计算器,它足够复杂,足以证明使用Vue的合理性。如何在不引入大量新工具的情况下将Vue纳入项目中?我想要的只是一个简单的单文件组件。我有:Vue.js 在较大的项目中创建单个Vue组件,vue.js,vue-cli,Vue.js,Vue Cli,我有一个使用Kirby CMS的PHP项目。我还使用Gulp来构建我的资产。现在,我需要在主页上添加一个计算器,它足够复杂,足以证明使用Vue的合理性。如何在不引入大量新工具的情况下将Vue纳入项目中?我想要的只是一个简单的单文件组件。我有: <div id="calculator"></div> 我基本上会在一个项目中有一个项目 使用Browserify和Gulp编译组件(我已经使用了)。虽然这看起来还行,但vueify已弃用且不受支持。此外,为了使用Babel+ES
<div id="calculator"></div>
我基本上会在一个项目中有一个项目
gulpfile.js
中添加一些东西如何设置Vue,使我能够开发一个非常简单的组件,将其作为一个更大项目的一部分,并尽可能减少摩擦
如果有人处理过类似的问题,他们是如何解决的?这可能不是您想要的答案,但如果我是您,我会仔细研究,因为它们似乎非常适合您的用例
也看看这个。它提供了一篇关于Vue中不同模板创作方法及其优缺点的精彩文章。我最后使用了我在问题中提到的第二种方法,但有一个小小的转折——我在主项目中初始化了Vue项目。我合并了它们
vue create my project
,其中my project
是我项目的实际文件夹名。CLI询问是应该覆盖项目还是合并项目。我选择了合并package.json
被覆盖,其中只列出了Vue依赖项包.json
并安装了以下包:@vue/cli plugin babel
,@vue/cli service
,vue模板编译器
,以及vue
包.json中添加了以下npm脚本:
"scripts": {
"calculator": "vue-cli-service build assets/js/calculator/main.js --watch --dest assets/js/calculator/build"
}
node\u modules
中的一些新包。我将组件文件放在assets/js/calculator/
中。在这里,我有main.js
,它是主组件脚本,还有build
,它是一个包含已处理组件的文件夹
我有:
<div id="calculator"></div>
在我的页面中,以及:
<script src="/assets/js/calculator/build/app.js"></script>
在页脚。当我打开页面时,组件被正确呈现
要修改该组件,我只需在终端中运行npm run calculator
,即可启动CLI服务。它监视main.js
文件,并根据每次更改构建组件。构建完成后(不到一秒钟),我刷新页面,更新的组件就在那里
结论
我相信这是处理这个用例最流畅的方法。它没有使项目膨胀,列出了所有依赖项,开发经验非常好。我的
package.json
被覆盖的部分有点令人担忧,但除此之外,它工作得非常好。如果有更好的方法,请留下答案 我最初没有想到内联模板。不过,我相信我找到了答案(你可以检查我的答案)。另外,感谢您提供的有用链接。
<script src="/assets/js/calculator/build/app.js"></script>