Vuejs 包含 SPA 中的 JavaScript 库



我正在使用 Vuejs 创建 SPA 应用程序,我发现我有 3 个选项来加载我的 JavaScript 库,如 bootstrap.js 或 jquery.js 和其他 JavaScript 库:

1. 首先是将我将在应用程序中使用的所有JavaScript库包含在索引中.html我的Vuejs应用程序将位于其中,但我发现有一些JavaScript库不能很好地工作

例如:有一些JavaScript库通过选择一些具有特定id="page-container"的div来计算页面高度,但是当页面从服务器呈现时,该div没有加载,所以此时JavaScript会抛出错误,因为id="page-container"还不存在。

阿拉伯数字。 其次是像这样将其添加到我所有的JavaScript库JS中

// before you use your files in some components,you should package them
// your local files
export default {   //export your file
your_function(){ // defined your function
...
}
}
// now your can use it
// your component file
<script>
import local_file from 'your_file_relative_path'
//now you can use it in the hook function
created(){  //or other hook function
local_file.your_function() //call your function
}
</script>

但这意味着我需要更改我使用的每个 JavaScript 库......

3. 第三是使用 npm 添加它,仅在 vue 组件导入它,它工作正常并且感觉更自然,但并非所有我的 JavaScript 库都在 npm 中,其中一些是我从 ThemeForest 购买的与管理模板相关的,永远不会在 NPM 中。


那么哪一个是更好的方法,或者也许有比我发现的那 3 个选项更好的方法? 很难找到任何教程或讨论提到将其他JavaScript库添加到SPA Vuejs中,其中大多数只是将引导程序放入索引中.html然后完成。

好吧,如果您的库存在于 NPM 中,那么这是最好的选择,因为您可以选择仅导入某些组件所需的脚本部分,例如,fontawesome 库,您可以只导入所需的图标而不是导入所有图标!

但是,如果您的脚本不在 NPM 中,最好的选择是在脚本需要运行的组件beforeMountbeforeCreate中运行脚本。

实际上不建议使用在HTML上添加链接引用的第三种方式,因为它将是全局的并且会降低性能。

最新更新