2017-04-04 73 views
1

我正在使用Vue和Electron構建桌面應用程序。我想用一些由用戶引入的數據來保存vue組件中的文件。爲了做到這一點,我嘗試在vuex動作中使用fs節點模塊,但它讓我錯誤。找不到該模塊。我知道Vue是客戶端,但是,我認爲在使用Electron的時候它可以工作,但它不會。要初始化我的應用程序,我使用了vue-cli和命令vue init webpack electron-vue。 我使用vuex系統,並使用vuex模塊也一樣,我有一個actions.js文件,我試圖用FS模塊:當我把這個動作從Vue的組件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調度系統,並在該組件的創建()方法:

this.$store.dispatch('writeToFile') 

那是養育了我提到的

+0

要使用'fs'你必須'需要'它。顯示您嘗試的代碼。 – Bert

回答

1

上述錯誤的電子使用文件系統的Vue和的WebPack ,文件系統實例必須在dist/index.html中聲明執行命令「故宮運行構建」

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

,並在VUE組件後,它的使用FS一樣,如果它將在VUE文件已被宣佈。

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

雖然如果不是在電子中使用它,或者您將它寫入到dev的索引中,它會引發錯誤。

相關問題