diff --git a/examples/README.md b/examples/README.md index a71be0f79d..364977886a 100644 --- a/examples/README.md +++ b/examples/README.md @@ -26,6 +26,7 @@ Clone this repo to explore these tutorials on your local machine: - [js-ipfs in the browser with Browserify](./browser-browserify) - [js-ipfs in the browser with Parcel.js](./browser-parceljs) +- [js-ipfs in the browser with Vue](./browser-vue) - [js-ipfs in the browser with WebPack](./browser-webpack) - [js-ipfs in the browser with a ` + + diff --git a/examples/browser-vue/src/assets/ipfs-vue-screenshot.png b/examples/browser-vue/src/assets/ipfs-vue-screenshot.png new file mode 100644 index 0000000000..993b8628c6 Binary files /dev/null and b/examples/browser-vue/src/assets/ipfs-vue-screenshot.png differ diff --git a/examples/browser-vue/src/assets/logo.svg b/examples/browser-vue/src/assets/logo.svg new file mode 100644 index 0000000000..8d6a879e15 --- /dev/null +++ b/examples/browser-vue/src/assets/logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/examples/browser-vue/src/components/IpfsInfo.vue b/examples/browser-vue/src/components/IpfsInfo.vue new file mode 100644 index 0000000000..772fc6da0e --- /dev/null +++ b/examples/browser-vue/src/components/IpfsInfo.vue @@ -0,0 +1,49 @@ + + + + + + diff --git a/examples/browser-vue/src/main.js b/examples/browser-vue/src/main.js new file mode 100644 index 0000000000..0c5dcb974c --- /dev/null +++ b/examples/browser-vue/src/main.js @@ -0,0 +1,12 @@ +import Vue from 'vue'; +import App from './App.vue'; +import VueIpfs from './plugins/vue-ipfs'; + +// Load our IPFS plugin. +Vue.use(VueIpfs); + +Vue.config.productionTip = false; + +new Vue({ + render: h => h(App), +}).$mount('#app'); diff --git a/examples/browser-vue/src/plugins/vue-ipfs.js b/examples/browser-vue/src/plugins/vue-ipfs.js new file mode 100644 index 0000000000..4bada24dc1 --- /dev/null +++ b/examples/browser-vue/src/plugins/vue-ipfs.js @@ -0,0 +1,14 @@ +import IPFS from 'ipfs' + +const plugin = { + install(Vue, opts = {}) { + Vue.prototype.$ipfs = IPFS.create(opts) + }, +} + +// Auto-install +if (typeof window !== 'undefined' && window.Vue) { + window.Vue.use(plugin) +} + +export default plugin diff --git a/examples/browser-vue/vue.config.js b/examples/browser-vue/vue.config.js new file mode 100644 index 0000000000..8fbad01d65 --- /dev/null +++ b/examples/browser-vue/vue.config.js @@ -0,0 +1,3 @@ +module.exports = { + chainWebpack: config => config.resolve.symlinks(false), +}