반응형
VUEX Store에서 serverMiddleware API로 데이터를 전달하는 방법
Nuxt.js에서 Vuex Store에서 serverMiddleware로 데이터를 전달할 수 있습니까?
async SET_DATA({commit}, payload) {
await this.$axios.$post('/api', { data: payload.data})
commit('SET_DATA', payload.data)
}
nuxt.config의 경우
serverMiddleware: [
{ path: '/api', handler: '~/api/index' }
]
그럼 api/index.js의 데이터에 어떻게 접근합니까?
export default function (req, res, next) {
// Get data from Store here
next()
}
bodyParser에서 문제를 해결했습니다.app.use(bodyParser.json()를 사용합니다.
내가 찾은 유일한 방법은
read File 및 write File 함수.
nuxt.config의 경우
modules: ['~/api/api.js'],
in api/api.js
서버 미들웨어로 인해 앱을 빌드하려고 하면 버그가 발생하기 때문에 이 방법을 사용합니다.
module.exports = function (moduleOptions) {
//Add middleware only with `nuxt dev` or `nuxt start`
var fs = require('fs');
// Save file from env or vuex anything comes with this
fs.writeFile('envTransfer.txt', JSON.stringify(this.options.env), function (err) {
if (err) throw err;
console.log('Saved!');
});
// Then call addServermiddleware
//Add middleware only with `nuxt dev` or `nuxt start`
if (this.options.dev || this.options._start) {
this.addServerMiddleware('~/api/index.js')
}
}
api/index.js 파트(node & express)
const fs = require('fs');
const express = require('express');
const app = express()
....
let content="";
fs.readFile('envTransfer.txt', function(err, data) {
if (err) throw err;
content = data;
var obj = JSON.parse(content);
// do it what ever you want
app.get('/', (req, res, next) => {
// res.send('API root')
})
// export the server middleware
module.exports = {
path: '/api',
handler: app
}
});
언급URL : https://stackoverflow.com/questions/53211809/how-to-pass-data-from-vuex-store-to-servermiddleware-api
반응형
'source' 카테고리의 다른 글
Linux 커널 패닉을 읽고 이해하고 분석하고 디버깅하는 방법 (0) | 2022.08.18 |
---|---|
스토어 디스패치 기능이 있는 vue-test-utils 및 jest를 사용하여 컴포넌트에 Vue 메서드의 Vue 테스트 케이스를 작성하는 방법 (0) | 2022.08.18 |
vuexjs 인수 getter (0) | 2022.08.18 |
Jackson에서 Java 개체를 JsonNode로 변환 (0) | 2022.08.17 |
조립 코드를 C에 삽입할 수 있는 방법이 있나요? (0) | 2022.08.17 |