我正在尝试将CloudKit JS添加到新的Vue项目中。理想情况下,我可以从应用程序中的任何组件访问CloudKit的功能。我是Vue的新手,所以请放轻松。 :)
到目前为止,我已经尝试将以下内容放入main.js
:
var fetch = require('node-fetch')
var CloudKit = require("./cloudkit.js")
CloudKit.configure({
services: {
fetch: fetch
},
containers: [{
containerIdentifier: '...',
apiToken: '...',
environment: 'development'
}]
})
这给我在cloudkit.js中的脚本错误:
TypeError:无法读取未定义的属性'ArrayBuffer'
所以我读了this SO post,并在App.vue
中尝试了此操作:
export default {
name: 'App',
components: {
'master': Master
},
mounted() {
let CloudKit = document.createElement('script')
CloudKit.setAttribute('src', 'https://cdn.apple-cloudkit.com/ck/2/cloudkit.js')
document.head.appendChild(CloudKit)
}
}
然后,我可以配置CloudKit并在App.vue
中使用它,但是我不清楚如何在我的所有组件中使用CloudKit,而无需像在{{1}中所做的那样重新定义它。 }函数。
如何导入CloudKit并使其在我的Vue应用程序中全局可用?
答案 0 :(得分:0)
您也可以在vue中添加新的全局属性:
导入 CloudKit ,然后将其添加到 main.js 中:Vue.prototype.$CloudKit = CloudKit
现在,项目this.$CloudKit
中的 Cloudkit 可用
PS:您可以在应用程序的mounted
中配置cloudkit
答案 1 :(得分:0)
我可能过于简化了,但是我尝试添加:
<script src="https://cdn.apple-cloudkit.com/ck/2/cloudkit.js"></script>
...到我的Vue项目中的index.html
文件,它似乎工作得很好。 CloudKit
对象在我所有的组件中都可用。 ¯\ _(ツ)_ /¯