首页 文章

vue electron如何将文件写入磁盘

提问于
浏览
2

我正在使用Vue和Electron构建桌面应用程序 . 我想从vue组件中保存一个文件,其中包含用户引入的一些数据 . 为此,我尝试在vuex操作中使用fs节点模块,但它让我犯了错误 . 找不到那个模块 . 我知道Vue是客户端,但是,我认为在使用Electron的那一刻它可以工作,但事实并非如此 . 要初始化我的应用程序,我使用了vue-cli和命令vue init webpack electron-vue . 我正在使用vuex系统并使用vuex模块,我有一个actions.js文件,我尝试使用fs模块:

// 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组件ex,Options.vue调用此操作时,我使用vuex调度系统,并在该组件的created()方法中:

this.$store.dispatch('writeToFile')

这引起了我上面提到的错误

1 回答

  • 2

    要在Vue和WebPack中使用电子文件系统,必须在执行命令“npm run build”后在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的索引中写它,它会抛出一个错误 .

相关问题