Skip to content

Instantly share code, notes, and snippets.

View DezChuang's full-sized avatar
🎯
Web Dev

CK Chuang DezChuang

🎯
Web Dev
View GitHub Profile
@DezChuang
DezChuang / v-devtools.js
Created January 26, 2022 09:09 — forked from schaoss/v-devtools.js
Force Open Vue Devtools
(() => {
// find root element: nuxt instance, #app, first div child in <body>
const root = window?.$nuxt?.$el || document.getElementById('app') || [...document.body.children].find(i => i.tagName === 'DIV');
const app = root?.__vue__;
if (!app || !window.__VUE_DEVTOOLS_GLOBAL_HOOK__) return 0;
const Vue = app.constructor;
const VueSuper = Vue.super || Vue;
VueSuper.config.devtools = true;
const express = require('express')
const wsServer = require('ws').Server
const PORT = 5566
// 建立 express 物件並綁定在 port 5566
const server = express().listen(PORT, () => {
console.log(`Listening on ${PORT}`)
})
// 建立一個 WebSocket 物件,並連上 socket server
const ws = new WebSocket('ws://localhost:5566')
// 連線建立後
ws.onopen = () => {
console.log('open connection to server')
}
// 連線斷開後
ws.onclose = () => {
@DezChuang
DezChuang / myPage.js
Last active January 15, 2019 02:39
myPage.vue
async fetch({ app, store }) {
app.$registerStore({
module: MyModule,
moduleName: `myModule`,
store
})
await store.dispatch('myModule/INIT_DATA')
},
beforeCreate() {
this.$registerStore({
@DezChuang
DezChuang / nuxt.config.js
Created January 15, 2019 02:25
nuxt.config.js
plugins: [
{ src: '~/plugins/register-store' },
...
],
@DezChuang
DezChuang / register-store.js
Created January 15, 2019 01:47
/plugins/register-store.js
function registerStore({ module, moduleName, store }) {
const moduleIsRegistered =
store._modules.root._children[moduleName] !== undefined
const stateExists = store.state[moduleName]
if (!moduleIsRegistered) {
store.registerModule(moduleName, module, { preserveState: stateExists })
}
}
export default ({ app }, inject) => {