我使用以下有效的代码,但是在几次成功调用(5-10)之后,我们有时会收到内部服务器错误:
req.session["oidc:accounts.rvm.com"] is undefined
我已经尝试了所有的latest开源版本。
Error: did not find expected authorization request details in session, req.session["oidc:accounts.rvm.com"] is undefined
at /opt/node_app/app/node_modules/openid-client/lib/passport_strategy.js:125:13
at OpenIDConnectStrategy.authenticate (/opt/node_app/app/node_modules/openid-client/lib/passport_strategy.js:173:5)
at attempt (/opt/node_app/app/node_modules/passport/lib/middleware/authenticate.js:366:16)
at authenticate (/opt/node_app/app/node_modules/passport/lib/middleware/authenticate.js:367:7)
at /opt/node_app/app/src/logon.js:92:7 *******
at Layer.handle [as handle_request] (/opt/node_app/app/node_modules/express/lib/router/layer.js:95:5)
at next (/opt/node_app/app/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/opt/node_app/app/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/opt/node_app/app/node_modules/express/lib/router/layer.js:95:5)
at /opt/node_app/app/node_modules/express/lib/router/index.js:281:22
Run Code Online (Sandbox Code Playgroud)
我的堆栈代码是:
at /opt/node_app/app/src/logon.js:92:7
Run Code Online (Sandbox Code Playgroud)
这是代码的结尾:
})(req, res, next); // here is line 92 but not sure if it's related
Run Code Online (Sandbox Code Playgroud)
这是完整的代码(我通过app它只是一个快速服务器):
索引.js
const express = require('express'); …Run Code Online (Sandbox Code Playgroud) 在此之前,我正在尝试使用dep来管理我的golang代码依赖项。我现在发现我无法使用go执行任何命令,即使我尝试使用brew by卸载它brew uninstall go并再次执行brew install go。
如果我正在做go env它会显示如下:
$ go env
go: cannot find GOROOT directory: /usr/local/cellar/go/1.13.1/libexec
$ ls /usr/local/Cellar/go/1.13.8/libexec/
CONTRIBUTING.md SECURITY.md bin lib robots.txt
CONTRIBUTORS VERSION doc misc src
PATENTS api favicon.ico pkg test
$ go version
go: cannot find GOROOT directory: /usr/local/cellar/go/1.13.1/libexec
$ go build
go: cannot find GOROOT directory: /usr/local/cellar/go/1.13.1/libexec
$ echo $GOPATH
/Users/mymac/go
$ echo $GOROOT
$
Run Code Online (Sandbox Code Playgroud)
我应该做什么和检查?
在 Vue 2 中,您可以访问钩子this.$root内部created。在 Vue 3 中,原本应该进入createdhook 的所有东西现在都进入了setup().
在setup()我们没有访问权限的情况下this,我们如何访问根实例上的任何内容?
比如说,我在根实例上设置了一个属性:
const app = createApp(App).mount('#app');
app.$appName = 'Vue3';
Run Code Online (Sandbox Code Playgroud)
我可以this从mounted()with访问this.$root.$appName,我怎样才能做到这一点setup()?
更新
如果我可以访问import它:
import app from '@/main';
...
setup() {
console.log(app.$appName) // Vue3
Run Code Online (Sandbox Code Playgroud)
但是,如果我必须为每个文件都这样做,这很麻烦。
更新 2
另一种解决方法是在provide()内部使用App.vue,然后inject()在任何其他组件中使用:
setup() {
provide('$appName', 'Vue3')
Run Code Online (Sandbox Code Playgroud)
setup() {
inject('$appName') // Vue3
Run Code Online (Sandbox Code Playgroud) 我正在为 Svelte 构建一个 NPM 包。通过这个包,我导出了几个简单的组件:
import SLink from './SLink.svelte';
import SView from './SView.svelte';
export { SLink, SView };
Run Code Online (Sandbox Code Playgroud)
这是在使用汇总将它们捆绑到缩小版本之前。
汇总配置:
module.exports = {
input: 'src/router/index.ts',
output: {
file: pkg.main,
format: 'umd',
name: 'Router',
sourcemap: true,
},
plugins: [
svelte({
format: 'umd',
preprocess: sveltePreprocess(),
}),
resolve(),
typescript(),
terser(),
],
};
Run Code Online (Sandbox Code Playgroud)
package.json(减去不必要的信息):
{
"name": "svelte-dk-router",
"version": "0.1.29",
"main": "dist/router.umd.min.js",
"scripts": {
"lib": "rollup -c lib.config.js",
},
"peerDependencies": {
"svelte": "^3.0.0"
},
"files": [
"dist/router.umd.min.js"
],
}
Run Code Online (Sandbox Code Playgroud)
当我发布包并测试它时,出现以下错误:
Uncaught Error: 'target' is …Run Code Online (Sandbox Code Playgroud) 我的 Vue 组件中有以下方法
loadMaintenances (query = {}) {
this.getContractorMaintenances(this.urlWithPage, query).then((response) => {
this.lastPage = response.data.meta.last_page
})
}
Run Code Online (Sandbox Code Playgroud)
我想将参数传递(this.urlWithPage, query)给我的 Vuex 操作,如下所示:
actions:{
async getContractorMaintenances ({ commit }, url, query) {
console.log(url);
console.log(query);
let response = await axios.get(url)
commit('PUSH_CONTRACTOR_MAINTENANCES', response.data.data)
return response
},
}
Run Code Online (Sandbox Code Playgroud)
问题是第一个参数url返回一个值,但第二个参数query返回undefined。
我的突变如下:
mutations: {
PUSH_CONTRACTOR_MAINTENANCES (state, data) {
state.contractor_maintenances.push(...data)
},
}
Run Code Online (Sandbox Code Playgroud)
如何从第二个参数获取值?
我正在尝试将 vue-socket-io 与 Vue 一起使用。
我可以毫无问题地从客户端向服务器发送消息。但是,从服务器到 Vue 应用程序,我什么也收不到。
我究竟做错了什么?
main.js:
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
// socket io
import * as io from "socket.io-client";
import VueSocketIO from "vue-socket.io";
Vue.use(
new VueSocketIO({
debug: true,
connection: io('http://localhost:3000'), // options object is Optional
})
);
Vue.config.productionTip = false;
new Vue({
router,
store,
vuetify,
render: (h) => h(App),
}).$mount("#app");
Run Code Online (Sandbox Code Playgroud)
App.vue:
<template>
<v-app>
<div>Test</div>
</v-app>
</template>
<script>
export default {
name: "App",
mounted() {
this.$socket.on("user-connected", (data) …Run Code Online (Sandbox Code Playgroud) const query = new URL(location).searchParams
const amount = parseFloat(query.get('amount'))
console.log("amount", amount)
document.getElementById('amount').value = amountRun Code Online (Sandbox Code Playgroud)
<label>
Amount
<input id="amount" type="number" name="amount">
</label>Run Code Online (Sandbox Code Playgroud)
抱歉,在上面或 JS fiddle 上运行代码片段似乎不适用于 URL 参数。
如果输入更改,我希望 URL 也更新,并使用新值。我如何在 vanilla JS 中实现这一目标?
我正在尝试重新创建一个从 vanilla CSS 到 tailwindcss 的项目。但我尝试了很多选择,但都失败了。
这是 CSS 代码:
header {
background: linear-gradient(rgba(135, 80, 156, 0.9), rgba(135, 80, 156, 0.9)), url(img/hero-bg.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
background-attachment: fixed;
position: relative;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以将此代码转换为等效的 tailwindcss 代码吗?
为了实验,我下载了@typescript-eslint/eslint-plugin的源代码。这个包有两个对等依赖项:
{
"peerDependencies": {
"@typescript-eslint/parser": "^4.0.0",
"eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
},
"dependencies": {
"@typescript-eslint/experimental-utils": "4.11.1",
"@typescript-eslint/scope-manager": "4.11.1",
"debug": "^4.1.1",
"functional-red-black-tree": "^1.0.1",
"regexpp": "^3.0.0",
"semver": "^7.3.2",
"tsutils": "^3.17.1"
},
}
Run Code Online (Sandbox Code Playgroud)
如果我npm list在安装所有依赖项后运行,我会得到:
npm ERR! peer dep missing: eslint@^5.0.0 || ^6.0.0 || ^7.0.0, required by @typescript-eslint/eslint-plugin@4.11.1
npm ERR! peer dep missing: eslint@*, required by @typescript-eslint/experimental-utils@4.11.1
Run Code Online (Sandbox Code Playgroud)
这是否意味着npm想要:
npm ERR! peer dep missing: eslint@^5.0.0 || ^6.0.0 || ^7.0.0, required by @typescript-eslint/eslint-plugin@4.11.1
npm ERR! peer dep missing: …Run Code Online (Sandbox Code Playgroud) 如何向弹出窗口添加按钮并向onClick功能添加按钮?
.setPopup(new mapboxgl.Popup({ offset: 25 })
.setHTML('<button onclick=' + { this.handlePop } + '> Button</button>'))
.addTo(map);
Run Code Online (Sandbox Code Playgroud)
这是行不通的。
javascript ×6
vue.js ×3
node.js ×2
npm ×2
async-await ×1
css ×1
go ×1
godeps ×1
gopath ×1
homebrew ×1
html ×1
mapbox-gl-js ×1
package.json ×1
passport.js ×1
rollupjs ×1
svelte ×1
tailwind-css ×1
vuejs2 ×1
vuejs3 ×1
vuex ×1
websocket ×1