我有一些外部脚本需要加载到不同的页面上,比如Google Places Autocomplete、Facebook API等.

显然,在每一条路由上加载它们是没有意义的,但是文档并没有解决这个相当常见的场景.

此外,Vue实例安装在主体内的标记上,因为

the mounted element will be replaced with Vue-generated DOM in all cases. It is therefore not recommended to mount the root instance to < html > or < body >.

现实世界的应用程序目前如何处理这种情况?

推荐答案

文档中没有提到这一点,因为这不是Vue的工作.Vue旨在创建单页应用程序(SPA)等.在一个单页应用程序中,你通常会在第一次加载网站时加载所有供应商脚本(谷歌、Facebook等)以及你自己的脚本和样式.

许多现实世界的应用程序只是使用Webpack、Gulp、Grunt或其他Bundle 工具将所有供应商脚本Bundle 到一个文件(例如:vendor.js)中.其基本原理是,您可以将所有这些脚本打包到一个文件中,缩小它们,使用gzip压缩提供它们,然后只需一个请求.

如果您使用require()import导入模块,则Webpack和Browserify等更智能的Bundle 软件可以遍历依赖关系树.这可以允许您将依赖项拆分为几个逻辑块,这样组件和库只有在自己加载的情况下才能加载它们的依赖项.

Vue.js相关问答推荐

如何使用 vuejs 在浏览器 url 中获取当前 product.id 的详细信息

如何使用 async/await 在 vue js 中添加标头

如何在 vuejs 中导入和使用本地 .csv 文件

vue js导航到带有问号的url

在 Vuex Store 模块中使用 Vue.js 插件

从数据库中删除后,Vue.js $remove 不删除元素

Vuex 和 Event Bus 有什么区别?

如何将 vuejs 项目部署到 heroku

指定一个 vue-cli vue.config.js 位置

vue js 组件中的 this.$route 只返回 undefined

如何使 Rails 与 vue.js 一起工作?

Vuetify 容器不会填充高度

如何从 .vue 文件中导出多个对象

VS代码中的红点是什么意思

异步方法不等待函数

中文而不是英文的Element UI分页

Vuetify RTL 风格

使用 vuejs 设置响应式屏幕宽度

Vue.js 和 jQuery datepicker/timepicker 双向绑定

如何在 Vue.js 2 应用程序中模拟 onbeforeunload?