vue轉(zhuǎn)electron項(xiàng)目及解決使用fs報(bào)錯(cuò):Module?not?found:?Error:?Can't?resolve?'fs'?in
前面寫了一篇博客,通過vue ui創(chuàng)建electron+vue項(xiàng)目,其實(shí)關(guān)鍵的一步就是增加vue-cli-plugin-electron-builder插件依賴。這一步可以通過界面上添加,也可以手動(dòng)添加。
手動(dòng)添加就是在命令行下運(yùn)行如下命令:
vue add electron-builder
該命令可以安裝vue-cli-plugin-electron-builder并且安裝electron,它會(huì)提供幾個(gè)版本給你選擇,一般默認(rèn)選擇最高版本即可。
構(gòu)建electron項(xiàng)目主要是安裝electron環(huán)境,在使用上面的命令添加electron-builder的時(shí)候,會(huì)下載electron版本,為了提高下載速度,一般會(huì)設(shè)置一個(gè)npm變量electron_mirror。我一般是設(shè)置在npmrc配置文件中,和npm registry一起:
registry=https://registry.npm.taobao.org
electron_mirror=https://npm.taobao.org/mirrors/electron/
注意electron_mirror設(shè)置后面的/,如果丟失,那么下載electron一定會(huì)失敗,導(dǎo)致安裝失敗。
設(shè)置了electron鏡像地址,那么vue add electron-builder命令會(huì)很快執(zhí)行成功:

最后,啟動(dòng)項(xiàng)目,執(zhí)行命令:npm run electron:serve
//
上面增加了electron,該項(xiàng)目就是一個(gè)桌面程序了,可以使用node環(huán)境,當(dāng)我高興的引入fs的時(shí)候,啟動(dòng)項(xiàng)目竟然報(bào)錯(cuò)了:
Module not found: Error: Can't resolve 'fs' in
這個(gè)錯(cuò)誤,并不是缺少依賴,而是系統(tǒng)默認(rèn)不支持node,需要將node集成進(jìn)來(lái),好在vue項(xiàng)目有一個(gè)配置文件vue.config.js,在這個(gè)文件里面,添加一個(gè)配置:pluginOptions:{electronBuilder:{nodeIntegration:true}},如下所示:
module.exports = defineConfig({
transpileDependencies: true,
pluginOptions:{
electronBuilder:{
nodeIntegration:true
}
}
})最后就可以像下面這樣使用fs了。
<template>
...
</template>
<script>
import fs from 'fs'
...
fs.readFile("/etc/profile",function(err,data){
console.log(data.toString())
})
</script>如下所示,我讀取mac系統(tǒng)下的profile配置文件,最后成功讀取并通過控制臺(tái)打印出來(lái)了:

這篇文章是根據(jù)自己今天在實(shí)際工作中遇到問題總結(jié),以前也做過electron項(xiàng)目,但是沒有遇到過node環(huán)境這個(gè)問題,總算解決了。我看有的項(xiàng)目使用webpack管理,如果遇到無(wú)法使用fs,那么就需要把fs加入到webpack.config.js的配置項(xiàng)中,好像叫fs:empty,我沒試過。
總結(jié)
到此這篇關(guān)于vue轉(zhuǎn)electron項(xiàng)目及解決使用fs報(bào)錯(cuò):Module not found: Error: Can't resolve 'fs' in的文章就介紹到這了,更多相關(guān)vue轉(zhuǎn)electron項(xiàng)目及fs報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue關(guān)于錨點(diǎn)定位、跳轉(zhuǎn)到指定位置實(shí)現(xiàn)方式
這篇文章主要介紹了vue關(guān)于錨點(diǎn)定位、跳轉(zhuǎn)到指定位置實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
Vue項(xiàng)目中vue.config.js常用配置項(xiàng)詳解
在 Vue CLI 創(chuàng)建的項(xiàng)目中,vue.config.js 是核心配置文件,用于定制化構(gòu)建、開發(fā)和部署流程,本文詳細(xì)解析了該文件的常用配置項(xiàng),并結(jié)合代碼示例和表格說明,幫助開發(fā)者高效管理項(xiàng)目配置,提升開發(fā)體驗(yàn),需要的朋友可以參考下2025-04-04
vue 里面的 $forceUpdate() 強(qiáng)制實(shí)例重新渲染操作
這篇文章主要介紹了vue 里面的 $forceUpdate() 強(qiáng)制實(shí)例重新渲染操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-09-09
Vue?Router嵌套路由(children)的用法小結(jié)
嵌套路由就是父路由里面嵌套他的子路由,父路由有自己的路由導(dǎo)航和路由容器(router-link、router-view),通過配置children可實(shí)現(xiàn)多層嵌套,這篇文章主要介紹了Vue--Router--嵌套路由(children)的用法,需要的朋友可以參考下2022-08-08

