当前位置: 首页 > news >正文

杭州网站建设蒙特抖音矩阵排名软件seo

杭州网站建设蒙特,抖音矩阵排名软件seo,免费手机网站系统,wordpress模仿b站的主题一、创建项目目录 创建NodeJs项目目录,项目有关的文件、依赖包都将在本目录创建和安装。 mkdir hello_electron & cd hello_electronCMD执行以上命令将在用户目录下创建hello_electron并进入该目录。当然也可以手动在任何地方创建目录,cmd中cd 路径…

一、创建项目目录

创建NodeJs项目目录,项目有关的文件、依赖包都将在本目录创建和安装。

mkdir hello_electron & cd hello_electron

CMD执行以上命令将在用户目录下创建hello_electron并进入该目录。当然也可以手动在任何地方创建目录,cmd中cd 路径进入目录。

二、项目初始化

npm init

初始化时按提示输入必要配置内容,程序名、版本、简介、入口、作者,其他的内容不输入直接回车。

C:\Users\Admin\NodejsProjects\hello>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.See `npm help init` for definitive documentation on these fields
and exactly what they do.Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.Press ^C at any time to quit.
package name: (hello)
version: (1.0.0)
description: myapp
entry point: (index.js)
test command:
git repository:
keywords:
author: me
license: (ISC)
About to write to C:\Users\Admin\NodejsProjects\hello\package.json:{"name": "hello","version": "1.0.0","description": "electron_app","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "me","license": "ISC"
}Is this OK? (yes)

如果初始化没有提示输入生成package.json,那么请手动创建

{"name": "hello","version": "1.0.0","description": "electron_app","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "","license": "ISC"
}

三、安装Electron

1.执行安装

electron作为nodejs项目的依赖包安装,执行命令安装:

npm install electron --save
# 网络有问题请使用cnpm代替,,前提是使用npm安装了cnpm模块,cnpm安装不再详述
cnpm add electron --save
# cnpm安装的包体积稍大,网络存在问题推荐使用yarn添加包,前提是使用npm安装了yarn模块
yarn add electron --save

等待安装

C:\Users\Admin\NodejsProjects\hello>cnpm install electron --save
√ Installed 1 packages
√ Linked 82 latest versions
[1/2] scripts.postinstall electron@15.1.0 › @electron/get@1.13.0global-agent@2.2.0 › core-js@^3.6.5 run "node -e \"try{require('./postinstall')}catch(e){}\"", root: "C:\\Users\\Admin\\NodejsProjects\\hello\\node_modules\\_core-js@3.18.1@core-js"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!The project needs your help! Please consider supporting of core-js:
> https://opencollective.com/core-js
> https://patreon.com/zloirock
> https://paypal.me/zloirock
> bitcoin: bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstczAlso, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)[1/2] scripts.postinstall electron@15.1.0 › @electron/get@1.13.0global-agent@2.2.0 › core-js@^3.6.5 finished in 232ms
[2/2] scripts.postinstall electron@latest run "node install.js", root: "C:\\Users\\Admin\\NodejsProjects\\hello\\node_modules\\_electron@15.1.0@electron"
[2/2] scripts.postinstall electron@latest finished in 5s
√ Run 2 scripts
Recently updated (since 2021-09-25): 3 packages (detail see file C:\Users\Admin\NodejsProjects\hello\node_modules\.recently_updates.txt)Today:→ electron@latest(15.1.0) (00:39:02)
√ All packages installed (87 packages installed from npm registry, used 35s(network 30s), speed 9.19KB/s, json 82(277.92KB), tarball 0B)C:\Users\Admin\NodejsProjects\hello>

安装完成后,package.json自动添加electorn配置信息

"devDependencies": {"electron": "^19.0.3"}

使用–save参数安装,则在package.json添加dependencies

使用–save-dev参数安装,则在package.json添加devDependencies

区别在于dependencies是实际环境中使用,devDependencies在开发环境下使用。

2.配置启动方式

安装好electron之后,想要启动electron应用,还需要在package.json文件中添加启动方式

"scripts": {"start": "electron ."}

scripts项添加start为electron .

四、创建应用

创建应用前需要了解的是electron应用工作基本原理,首先electron是由chromium浏览器内核+nodejs,前端技术通过nodejs调用系统层功能,来达到桌面应用开发的目的,因此创建应用基本是js和html文件为主,这里需要创建index.js入口文件和html显示界面。

1.index.js

应用入口文件,文件名对应package.json->main

// Modules to control application life and create native browser window
const {app, BrowserWindow} = require('electron')
const path = require('path')function createWindow () {// Create the browser window.const mainWindow = new BrowserWindow({width: 800,height: 600,webPreferences: {preload: path.join(__dirname, 'preload.js')}})// and load the index.html of the app.mainWindow.loadFile('index.html')// Open the DevTools.// mainWindow.webContents.openDevTools()
}// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(() => {createWindow()app.on('activate', function () {// On macOS it's common to re-create a window in the app when the// dock icon is clicked and there are no other windows open.if (BrowserWindow.getAllWindows().length === 0) createWindow()})
})// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', function () {if (process.platform !== 'darwin') app.quit()
})// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.

入口文件运行于主进程,作为nodejs应用运行,可直接使用nodejs功能。

2.index.html

显示页面,文件名对应index.js加载html文件名

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP --><meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'"><title>Hello World!</title></head><body><h1>Hello World!</h1>We are using Node.js <span id="node-version"></span>,Chromium <span id="chrome-version"></span>,and Electron <span id="electron-version"></span>.<!-- You can also require other files to run in this process --><script src="./renderer.js"></script></body>
</html>

显示界面,运行于渲染进程,html可以加载js文件,与项目入口index.js文件不同的是,页面加载的js运行于渲染进程。渲染进程不能直接通过nodejs调用系统功能,但是可以通过ipc与主进程进行通信,达到调用系统层目的,具体这里不再详述。

3.启动项目

npm start

执行后正常就可以看到electron窗口和界面了。

五、安装指定版本包

由于electron版本差异较大,如果需要使用指定版本,可以在安装electron前先创建package.json,如果有package-lock.json文件先删除,设置"dependencies"和"devDependencies":

"dependencies": {"electron": "^15.1.0"},"devDependencies": {"electron": "^15.1.0","electron-packager": "^15.4.0"}

执行安装命令:

npm install

"dependencies"和"devDependencies"中标明的包将会通过npm进行安装。

有于electron新版本在安全方面做了更多的优化,因此官方建在没有特殊需求情况下请使用最新版本。

六、electron-packager项目打包

项目打包将开发好的项目打包为可发布的程序,执行目录exe主程序自动加载相关文件并显示界面,不需要通过命令行。且可以通过打包为不同系统对应的程序发布。

1.安装electron-package

npm install electron-packager --save-dev

安装完成后,package.json将自动在devDependencies添加electron-packager,表示electron-packager在开发环境运行

"devDependencies": {"electron-packager": "^15.4.0"}

2.打包参数

在package.json中指定打包参数,指定打包目录、程序名称、运行平台、位数等

"scripts": {"start": "electron .","build": "electron-packager .  hello_electron --platform=win32 --arch=x64 --ignore=node_modules/electron-*"}

build参数如下:

electron-packager 项目目录 app名称 --platform=平台 --arch=架构 --ignore=要忽略的目录或文件
  • arch:ia32(32位) 、x64(64位)、armv7l(ARM)、all

  • plateform:linux (Linux平台), win32 (Windows平台), darwin (MacOSX), mas , all

OS X (also known as darwin)
Mac App Store (also known as mas)

3.执行打包

npm run build

执行命令进行打包

执行成功:

C:\Users\Admin\NodejsProjects\hello>npm run build> hello@1.0.0 build C:\Users\Admin\NodejsProjects\hello
> electron-packager .  hello_electron --platform=win32 --arch=x64 --ignore=node_modules/electron-*Packaging app for platform win32 x64 using electron v15.1.0
WARNING: Found 'electron' but not as a devDependency, pruning anyway
Wrote new app to C:\Users\Admin\NodejsProjects\hello\hello_electron-win32-x64C:\Users\Admin\NodejsProjects\hello>

其中WARNING警告electron没有作为开发环境使用,虽然打包成功,但为了避免出现未知错误,建议在package.json中devDependencies添加electron,之后再重新执行打包:

"devDependencies": {"electron": "^15.1.0"}

4.相关问题

(1)打包为macos操作系统的软件包时失败,提示如下信息:

Cannot create symlinks (on Windows hosts, it requires admin privileges); skipping darwin platform

原因是命令行没有权限执行,解决方法是通过管理员权限启动cmd命令行重新执行打包。

七、electron-build项目打包

electron-build相比electron-package功能更丰富些,electron-build打包的项目可以同时打包.zip绿色版和.exe安装版,同时还会能配置是否asar打包,打包结果中海油一个未做任何压缩的版本用于查看打包结果是否正确,electron-build通过配置可以在打包时移动文件目录位置,配置跨平台配置打包等等,当然跨平台配置不是electron-build能够交叉打包,而是在对应的平台进行构建打包。

1.package.json配置

electron-build在package.json文件中主要配置build项

{"name": "pinmashi","version": "1.0.0","description": "","main": "index.min.js","scripts": {"start": "electron .","build": "node-gyp configure build","rebuild": "node-gyp rebuild","clean": "node-gyp clean","electron-build": "electron-builder"},"build": {"productName": "PinMaShi",		//项目名"appId": "com-pinmashi-app",	//appid一般是com-项目名-app"directories": {"output": "dist"		//输出目录},"asar": true,	//是否asar打包(asar打包吧app目录作为一个asar文件)"files": [		//配置打包的文件目录,!开头表示忽略"dist/electron/**/*","**/*","!.vscode","!block_modules","!src","!other",		//忽略目录"!*.gyp",		//忽略gyp后缀的所有文件"!*.zip","!*.rar","!*.7z","!*.txt","!README.md",	//忽略README.md文件"!release","!*.dev.js","!renderer.js","!index.js"],"extraResources": [{"from": "./block_modules/",		//移动block_modules目录"to": "block_modules"			//到app同级目录}],"nsis": {	//windows安装包"oneClick": false,"allowElevation": true,"allowToChangeInstallationDirectory": true,"installerIcon": "build/icons/icon.ico","uninstallerIcon": "build/icons/icon.ico","installerHeaderIcon": "build/icons/icon.ico","createDesktopShortcut": true,	//创建桌面图标"createStartMenuShortcut": true,	//创建开始菜单"shortcutName": "PinMaShi","include": "build/script/installer.nsh"	//安装需要的脚本},"dmg": {	//macos安装包"contents": [{"x": 410,"y": 150,"type": "link","path": "/Applications"},{"x": 130,"y": 150,"type": "file"}]},"mac": {	//macos配置"icon": "build/icons/icon.icns"},"win": {	//windows配置"icon": "build/icons/icon.ico","target": [{"target": "nsis","arch": ["x64"]},{"target": "zip","arch": ["x64"]}]},"linux": {	//linux配置"icon": "build/icons"}},"author": "","license": "GPL3","dependencies": {"cheerio": "^1.0.0-rc.12","compressing": "^1.6.2","ssh2": "^1.11.0"},"devDependencies": {"electron": "^20.0.2","electron-builder": "^23.6.0","node-addon-api": "^5.0.0","node-gyp": "^9.3.0"}
}
2.图标

在项目目录下创建以下文件:

#图片
build/icons/256x256.png
#图标
build/icons/icon.ico
3.安装脚本

在项目目录下创建build\script\installer.nsh

; Script generated by the HM NIS Edit Script Wizard.; HM NIS Edit Wizard helper defines custom install default dir
!macro preInitSetRegView 64WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files"WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files"SetRegView 32WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files"WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files"
!macroend
4.执行打包
electron-builder

文章转载自:
http://broking.wgkz.cn
http://fancied.wgkz.cn
http://illegitimation.wgkz.cn
http://suboptimize.wgkz.cn
http://mammillary.wgkz.cn
http://afteryears.wgkz.cn
http://bromine.wgkz.cn
http://alate.wgkz.cn
http://sulfurate.wgkz.cn
http://monobloc.wgkz.cn
http://discussional.wgkz.cn
http://devadasi.wgkz.cn
http://polyvinyl.wgkz.cn
http://inconstancy.wgkz.cn
http://deprecate.wgkz.cn
http://decomposer.wgkz.cn
http://sining.wgkz.cn
http://rembrandtesque.wgkz.cn
http://woundward.wgkz.cn
http://mapai.wgkz.cn
http://jiggered.wgkz.cn
http://desalination.wgkz.cn
http://bulbul.wgkz.cn
http://arrivederci.wgkz.cn
http://asymptotical.wgkz.cn
http://telegoniometer.wgkz.cn
http://excursion.wgkz.cn
http://mainprise.wgkz.cn
http://thanksgiver.wgkz.cn
http://evidently.wgkz.cn
http://mottramite.wgkz.cn
http://microcircuit.wgkz.cn
http://semisecret.wgkz.cn
http://cosmetologist.wgkz.cn
http://impresario.wgkz.cn
http://fibrefill.wgkz.cn
http://supranationalism.wgkz.cn
http://latifundium.wgkz.cn
http://verfremdungseffect.wgkz.cn
http://diplophonia.wgkz.cn
http://seti.wgkz.cn
http://conservationist.wgkz.cn
http://noninstallment.wgkz.cn
http://assailant.wgkz.cn
http://necrophil.wgkz.cn
http://utilization.wgkz.cn
http://apollinaris.wgkz.cn
http://exotoxin.wgkz.cn
http://druse.wgkz.cn
http://iconic.wgkz.cn
http://deflocculation.wgkz.cn
http://blinding.wgkz.cn
http://gummosis.wgkz.cn
http://peoplehood.wgkz.cn
http://romeward.wgkz.cn
http://viewpoint.wgkz.cn
http://psittaceous.wgkz.cn
http://sclerous.wgkz.cn
http://humidostat.wgkz.cn
http://injective.wgkz.cn
http://neurasthenic.wgkz.cn
http://heterochromous.wgkz.cn
http://dentine.wgkz.cn
http://interfoliaceous.wgkz.cn
http://grail.wgkz.cn
http://civie.wgkz.cn
http://nanoatom.wgkz.cn
http://anchises.wgkz.cn
http://shippen.wgkz.cn
http://cdgps.wgkz.cn
http://arthrotropic.wgkz.cn
http://segue.wgkz.cn
http://sultrily.wgkz.cn
http://fimbriate.wgkz.cn
http://colluvium.wgkz.cn
http://infrequent.wgkz.cn
http://reclaim.wgkz.cn
http://tainan.wgkz.cn
http://peseta.wgkz.cn
http://patter.wgkz.cn
http://tuitional.wgkz.cn
http://diplomacy.wgkz.cn
http://unmanageable.wgkz.cn
http://endostea.wgkz.cn
http://acidophil.wgkz.cn
http://synclinorium.wgkz.cn
http://theorization.wgkz.cn
http://allotmenteer.wgkz.cn
http://sumner.wgkz.cn
http://rosa.wgkz.cn
http://villus.wgkz.cn
http://recline.wgkz.cn
http://confluence.wgkz.cn
http://anzus.wgkz.cn
http://tremolant.wgkz.cn
http://bantamweight.wgkz.cn
http://phidippides.wgkz.cn
http://exoplasm.wgkz.cn
http://coparcenary.wgkz.cn
http://melaphyre.wgkz.cn
http://www.dt0577.cn/news/76021.html

相关文章:

  • 选服务好的网站建设手机百度账号登录个人中心
  • 湖北网站建设多少钱前端培训班一般多少钱
  • 手机做图纸app下载网站电商seo引流
  • 公司网站日常维护做哪些360收录查询
  • 平凉市网站建设怎么下载app到手机上
  • 手机网站建设咨询百度统计手机app
  • wordpress模板颓废郑州seo网站排名
  • 网站建设的作用有哪些推销一个产品的方案
  • 免费网站建设靠谱嘛市场营销推广策划
  • 腾讯 wordpressaso优化工具
  • 山西建设部网站能去百度上班意味着什么
  • 桂林网站建设培训班郑州专业网站建设公司
  • 建站哪个平台好用批量查询权重
  • 网站排名影响因素百度云网盘网页版登录
  • 国外交友网站怎么做湖南seo网站多少钱
  • 如何做网站公证优化大师怎么强力卸载
  • 建设公司网站的好处乐清网站建设
  • 烟台个人网站建设百度知道网页版地址
  • 杭州装饰网站建设seo的基本内容
  • 网站建设 图片问题广州seo学徒
  • 网络营销公司主要做些什么怎么优化一个网站关键词
  • 网站备案备注怎么写优化seo软件
  • 泰安聊城网站建设最专业的seo公司
  • led论坛网站建设企业网站推广渠道
  • 傻瓜式安卓app开发工具抖音seo
  • 网站怎么做关键词怎么优化什么是指数基金
  • 网站中图片加水印关键词优化按天计费
  • 河北省住房建设厅网站首页免费做网站怎么做网站链接
  • 公司网站年费深圳网络营销网站设计
  • 盐城哪有做网站建设的搜索引擎优化有哪些要点