2017-04-04 1 views
1

Vue와 Electron을 사용하여 데스크톱 응용 프로그램을 만들고 있습니다. 사용자가 가져온 일부 데이터로 파일 구성 요소에서 파일을 저장하고 싶습니다. 그렇게하기 위해, 나는 vuex 액션 내에서 fs 노드 모듈을 사용해 보았지만 오류가 발생했습니다. 해당 모듈을 찾을 수 없습니다. 나는 Vue가 클라이언트 측이지만, 나는 Electron로 사용하는 순간 작동 할 수 있다고 생각했지만 그렇지 않다. 내 응용 프로그램을 초기화하려면 vue-cli와 vue init webpack electronic-vue 명령을 사용했습니다. 나는 내가 FS 모듈을 사용하려고 어디는 actions.js 파일을했습니다, 시스템을 vuex 사용하여 너무 vuex 모듈을 사용하고 있습니다 : 나는 뷰 구성 요소에서이 작업을 호출 할 때vue + electron 디스크에 파일을 쓰는 방법

// import * as fs from 'fs'; I used this way at first 
const fs = require('fs'); 
export const writeToFile = ({commit}) => { 
fs.writeFileSync('/path/file.json', JSON.stringify(someObjectHere)); 
}; 

을, 전, 옵션 .vue, 그 구성 요소의 생성() 메소드에서 vuex 파견 시스템을 사용하고 : 뷰와 함께 전자에 파일 시스템을 사용하는 나에게 언급

+0

'fs'를 사용하려면'require '해야합니다. 시도한 코드를 표시하십시오. – Bert

답변

1

위의 오류를 올렸다

this.$store.dispatch('writeToFile') 

웹팩 , 파일 시스템 인스턴스는 dist/index.html에 선언되어야합니다 그것이 VUE 파일에 선언했을 경우와 같은 이후의 명령 "NPM 실행 빌드"

<script> 
    var fs = require('fs'); 
</script> 

과 VUE 구성 요소의 실행, 그것은 'FS를 사용 s의.

... 
export const writeToFile = ({commit}) => { 
    fs.writeFileSync('/path/file.json', SON.stringify(someObjectHere)) 
}; 
... 

전자로 사용하지 않거나 dev에 색인을 쓰면 오류가 발생합니다.

관련 문제