中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

天津網(wǎng)站建設(shè)交易公司網(wǎng)站建站要多少錢

天津網(wǎng)站建設(shè)交易,公司網(wǎng)站建站要多少錢,模板下載網(wǎng)站什么好,深圳市規(guī)劃建設(shè)委員會網(wǎng)站使用electron封裝了前端界面之后,最終打包為一個客戶端(exe)。但是,最近項目組內(nèi)做CS(c開發(fā))的,想把所有的配置都放進安裝目錄的配置文件中(比如config.json)。這做法&am…

使用electron封裝了前端界面之后,最終打包為一個客戶端(exe)。但是,最近項目組內(nèi)做CS(c++開發(fā))的,想把所有的配置都放進安裝目錄的配置文件中(比如config.json)。這做法,對于純前端而言有點難以接收。

第一,純前端不允許讀取本地文件。就這一條,直接封死所有的路。
第二,讀取配置,前端可以通過可視化界面存入本地緩存,不必要讀取本地文件。

基于以上兩點,我覺得讀取本地文件不可能實現(xiàn),況且時間緊任務(wù)重。奈何,前端話語權(quán)微乎其微。

最后,我咬著牙,實現(xiàn)了一下讀取本地文件的需求。如有更好的方案,可以私信評論。

首先,純js肯定干不了讀取本地文件的事情。那么,只能用nodejs了。況且,electron內(nèi)部已經(jīng)集成了nodejs,所以使用nodejs是必然選擇。

讀取本地文件

需要分兩步走。

第一,先獲取本系統(tǒng)的安裝目錄。第二,使用fs讀取config配置文件。具體代碼如下:

// 獲取 exe 的安裝目錄
// 使用electron 內(nèi)部的方法 app.getPath
// 配置文件 background.js 中寫入如下代碼import {app,protocol,BrowserWindow,Menu,Tray,globalShortcut,ipcMain,dialog
} from 'electron';// 獲取安裝目錄
// 這里要注意 獲取的安裝目錄是反斜杠 也就是 c:\dev\xxxx
// 這肯定是不行的  nodejs在使用這種地址是讀取不了的 
// 所以 后邊加了一個replace 用于轉(zhuǎn)換反斜杠
let exePath = path.dirname(app.getPath('exe')).replace(/\\/g, "/");// 拼接好安裝目錄下的config.json
let configPath = `${exePath}/config.json`;// 使用fs讀取文件內(nèi)容
const fs = require('fs');
fs.readFile(configPath, 'utf-8', (err, data) => {if (data) {// 注意要轉(zhuǎn)換jsonconst config = JSON.parse(data)}
})

傳遞數(shù)據(jù)

現(xiàn)在本地數(shù)據(jù)是讀取到了。如何將數(shù)據(jù)傳遞到我們的前端工程中(我用的是vue)?

我想到了兩種辦法。

第一種,通過electron窗口的方法。

// 創(chuàng)建window之后可以使用這個方法傳遞消息
// win是new BrowserWindow
// 注意消息主題是 async-messagewin.webContents.send('async-message', '消息')// 前端js中可以這么接收
import { ipcRenderer } from 'electron';// 注意 監(jiān)聽事件要和上邊保持一致 async-messageipcRenderer.on('async-message', (e, arg) => {console.log('渲染進程===我收到啦', arg)
})

第二種,就是node起一個服務(wù),就相當(dāng)于寫了一個接口前端再去調(diào)用。

// nodejs 寫一個服務(wù)// 定義一個暫存數(shù)組  用于后邊關(guān)閉并清除socket服務(wù)
var sockets = [];// 創(chuàng)建一個httpserver
const http = require('http');// 創(chuàng)建服務(wù)器對象
const server = http.createServer();
const closeServer = () => { sockets.forEach(function(socket){socket.destroy();});server.close(function(){console.log("close server!");});
}// res.local_port 就是我們上邊讀取本地配置后的內(nèi)容server.listen(res.local_port);// 對錯誤進行捕獲server.on('error', (err) => {if (err.code == 'EADDRINUSE') {// 如果目標(biāo)端口被占用將使用// NodeJS 隨機分配的端口號server.listen(0);}
});// 在成功監(jiān)聽后,向終端輸出被監(jiān)聽的端口號
server.on('listening', () => {console.log('【HTTP Server is running at http://127.0.0.1:' + server.address().port + ' 】')
})server.on("connection",function(socket){sockets.push(socket);//console.log('sockets', sockets);socket.once("close",function(){sockets.splice(sockets.indexOf(socket),1);});
});server.on('request', function (req, res) {const url = req.url;// 接口地址就是 /getInfoif(url === '/getInfo') {res.setHeader('content-type', 'application/json');res.end(ws_path);closeServer();} else {res.writeHeader(404);res.end('404 not found');closeServer();}
})// 前端工程中 請求這個接口 就可以獲取配置信息了axios.get('http://127.0.0.1:3000/getInfo').then(res => {if (res.code == 200) {console.log('這里就是請求本地的配置 -- ', res.data);}
})

就這樣,收工......

http://m.risenshineclean.com/news/66125.html

相關(guān)文章:

  • 網(wǎng)站名稱備案青島神馬排名優(yōu)化
  • 山東公司網(wǎng)站開發(fā)外鏈工廠 外鏈
  • wordpress怎么導(dǎo)入自己的phpseo網(wǎng)站優(yōu)化外包
  • 自己做網(wǎng)站需要服務(wù)器嗎google付費推廣
  • flash 網(wǎng)站頭部東莞做網(wǎng)站公司電話
  • wordpress 輪播圖插件下載惠州抖音seo
  • 網(wǎng)站 http 狀態(tài)碼返回值 301百度在線識圖查圖片
  • 怎么用自己的主機做網(wǎng)站服務(wù)器嗎企業(yè)宣傳片文案
  • 美國做ppt的網(wǎng)站有人百度看片嗎
  • 公司網(wǎng)站制作哪家公司好百度網(wǎng)站app下載
  • 做那種網(wǎng)站受歡迎網(wǎng)絡(luò)公司網(wǎng)頁設(shè)計
  • 國外網(wǎng)購網(wǎng)站十大排名seo站長常用工具
  • vi設(shè)計 站酷公司網(wǎng)站推廣方法
  • 免費制作視頻安徽網(wǎng)絡(luò)優(yōu)化公司
  • 網(wǎng)站建設(shè) 王衛(wèi)洲關(guān)鍵詞排名優(yōu)化易下拉排名
  • 網(wǎng)站建設(shè)域名什么意思付費推廣有幾種方式
  • 北京知名網(wǎng)站建設(shè)公司東莞百度seo哪里強
  • 我英文網(wǎng)站建設(shè)石家莊網(wǎng)站seo
  • 南昌網(wǎng)站建設(shè)公司好么外貿(mào)營銷型網(wǎng)站設(shè)計
  • c 網(wǎng)站開發(fā) 視頻網(wǎng)絡(luò)營銷案例分析論文
  • 網(wǎng)站制作二級網(wǎng)頁怎么做網(wǎng)絡(luò)推廣預(yù)算方案
  • wordpress的圖片插件優(yōu)化防疫措施
  • 山西互聯(lián)網(wǎng)公司ui設(shè)計師招聘網(wǎng)aso關(guān)鍵詞排名優(yōu)化是什么
  • 精品網(wǎng)站建設(shè)公司域名查詢官網(wǎng)
  • 網(wǎng)站推廣軟文范例排名優(yōu)化哪家專業(yè)
  • 上海做網(wǎng)站公司品劃網(wǎng)絡(luò)app推廣平臺有哪些
  • 三合一網(wǎng)站和傳統(tǒng)網(wǎng)站百度賬號管理中心
  • 群團組織網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷與管理
  • 網(wǎng)站建設(shè)需要政府集中采購嗎百度快照投訴中心人工電話
  • 微站是什么意思網(wǎng)站設(shè)計開發(fā)網(wǎng)站