當前環境Debian Linux-Deepinjavascript
下載html
wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linux-x64.tar.xz
解壓,解壓後在當前盤多了個文件夾node-v14.15.1-linux-x64.(可自行更名)java
sudo tar -zxvf node-v14.15.1-linux-x64.tar.gz
創建軟連接node
sudo ln -s /盤路徑/node-v14.15.1-linux-x64/bin/node /usr/local/bin/ sudo ln -s /盤路徑/node-v14.15.1-linux-x64/bin/npm /usr/local/bin/
查看版本linux
node -v npm -v
一、卸載npmweb
sudo npm uninstall npm -g
二、卸載nodechrome
sudo apt-get remove nodejs npm -y
三、檢查是否還存在shell
sudo rm -rf /usr/local/lib/node* sudo rm -rf /usr/local/include/node* sudo rm -rf /usr/local/bin/node* sudo rm -rf /usr/local/node*
npm config set ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
查看當前鏡像源npm
npm config get registry
採用命令全局安裝electron。json
npm install electron -g
創建軟連接
sudo ln -s /盤路徑/node-v14.15.1-linux-x64/bin/electron /usr/local/bin/
查看當前electron版本
electron -v
建立一個文件夾surround:
mkdir surround && cd surround
創建一個包文件
npm init -y
生成一個該項目的描述文件package.json
{ "name": "Surround", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
建一個main.js文件,並加入以下js內容。
const { app, BrowserWindow } = require('electron') function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) win.loadFile('index.html') } app.whenReady().then(createWindow) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } })
對應於main.js中加載的網頁地址,新建一個html頁面。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Hello World!</title> <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" /> </head> <body style="background: white;"> <h1>Hello World!</h1> <p> We are using node <script>document.write(process.versions.node)</script>, Chrome <script>document.write(process.versions.chrome)</script>, and Electron <script>document.write(process.versions.electron)</script>. </p> </body> </html>
更改新建項目階段所建立的package.json文件,內容爲以下
{ "name": "Surround", "version": "0.1.0", "main": "main.js" }
進入到surround文件夾內,按照命令啓動程序便可
electron .
或是在package.json中變動爲以下腳本
{ "name": "Surround", "version": "0.1.0", "main": "main.js", "scripts": { "start": "electron ." } }
則可經過以下命令啓動程序
npm start
如顯示以下錯誤,不要用sudo打頭便可。
Running as root without --no-sandbox is not supported.
本次使用electron-packager,來完成打包工做,並採用全局安裝。
npm install electron-packager -g
創建軟連接
sudo ln -s /當前node文件夾路徑/node-v14.15.1-linux-x64/bin/electron-packager /usr/local/bin/
更改package.json文件,增長依賴項,可經過electron -v查看當前electron版本,將依賴項加入到devDependencies節點內。
{ "name": "Surround", "version": "0.1.0", "main": "main.js", "scripts": { "start": "electron ." }, "devDependencies": { "electron": "~11.0.4" } }
執行安裝依賴模塊命令
npm install
當前文件夾下多了node_modules文件夾,存放當前項目依賴的模塊,並還多了一個package-lock.json文件,該文件用於鎖定當前依賴的模塊來源及版本號。
在當前文件夾內,採用全局命令打包形式,依照以下命令打包。
electron-packager . 'Surround' --platform=linux --arch=x64 --out=./out --app-version=0.1.0
腳本格式對照(僅限如上使用到的)
electron-packager <location of project> 項目位置 . 表明當前文件夾下 <name of project> 打包項目名稱 <platform> 目標運行平臺 <architecture> 底層架構類型 <optional options> 可選配置
或者將命令寫入package.json中,執行npm run-script package
{ "name": "Surround", "version": "0.1.0", "main": "main.js", "scripts": { "start": "electron .", "package": "electron-packager . 'Surround' --platform=linux --arch=x64 --out=./out --app-version=0.1.0" }, "devDependencies": { "electron": "~11.0.4" } }
再執行以下命令打包
npm run-script package
最終都會在當前文件夾內多出一個out文件夾,其中放置着打包好了的程序。
內部詳細文件爲應用具體文件
如此,完成好了打包的應用程序,直接運行Surround可執行程序是沒得問題的。
2020-12-14,望技術有成後能回來看見本身的腳步