Neutralinojs搭建(国内环境)/运行/打包

0、配置PowerShell执行策略

以管理员身份运行PowerShell,运行Set-ExecutionPolicy RemoteSigned,并输入Y,回车确认

1、安装nvm

访问下载地址下载安装nvm:

2、配置nvm

nvm install 18.15.0安装Node.js18.15.0LTS版
nvm use 18.15.0启用这个版本
运行cmd /c "nvm -v && node -v && npm -v",正常输出版本号说明安装完成
npm config set registry https://registry.npmmirror.com 设置镜像

3、安装VSCode

下载安装VSCode

4、下载文件

手动下载文件 - Github议题

  1. SourceForgeneutralinojs - Github发布下载最新的released版本,例如neutralinojs-v4.10.0.zip
  2. neutralino.js - Github发布下载最新的released版本的neutralino.js(多了个点,和第1条不是一个页面)

5、准备一个图标(必须)

  • 请添加图片描述
  • png格式就行,宽高200x200。这里用neutralinojs的头像正好
  • (其实我又给这个图加粗了,不然看不清)

6、新建项目helloneutralino

(参考项目:neu-最小多款框架对比)

  1. 创建项目安装neu并使用VSCode打开
    md helloneutralino;cd helloneutralino;md bin;md resources\js;md resources\icons;
    npm init -y;npm install @neutralinojs/neu --save-dev;code .
    
  2. 将下载的neutralinojs-v4.10.0.zip的所有文件解压缩到bin目录,例:.\helloneutralino\bin\WebView2Loader.dll
    (如果你下载的压缩包里一堆文件夹,那说明下错了,核对文件名重下)
  3. 将下载的neutralino.js放在resources目录的js文件夹,就像这样:.\helloneutralino\resources\js\neutralino.js
  4. 将准备的图标放在resources目录的icons文件夹,位置如下:.\helloneutralino\resources\icon\appIcon.png
  5. 新建文件.\helloneutralino\neutralino.config.json,输入以下内容
    {
        "applicationId": "js.neutralino.sample",
        "version": "1.0.0",
        "defaultMode": "window",
        "documentRoot": "/resources/",
        "url": "/",
        "enableServer": true,
        "enableNativeAPI": true,
        "tokenSecurity": "one-time",
        "nativeAllowList": [
            "app.*"
        ],
        "modes": {
            "window": {
                "title": "myApp",
                "width": 500,
                "height": 300,
                "minWidth": 400,
                "minHeight": 200,
    		    "icon": "/resources/icons/appIcon.png",
    		    "enableInspector": true
            }
        },
        "cli": {
            "binaryName": "myApp",
            "resourcesPath": "/resources/",
            "extensionsPath": "/extensions/",
            "clientLibrary": "/resources/js/neutralino.js",
            "binaryVersion": "4.10.0",
            "clientVersion": "3.8.2"
        }
    }
    
  6. 添加前端文件,这里只写一个html,.\helloneutralino\resources\index.html,html中的内容为<h1>hello neutralinno</h1>
  7. 添加一个npm脚本,编辑.\helloneutralino\package.json,将test脚本改为start脚本,再添加一条build脚本
    {
        "scripts": {
            "test": "echo \"Error: no test specified\" && exit 1"
        }
    }
    
    改为
    {
        "scripts": {
            "neur": "neu run",
            "neub": "neu build --release"
        },
    }
    
  8. 运行npm run neur或者npx neu run
    在这里插入图片描述

7、打包

(打包前将.\helloneutralino\neutralino.config.json"enableInspector"设置为false,关闭Devtools)
运行npm run neub或者npx neu build --release
打包结果生成位置:.\helloneutralino\dist

  • 一个文件夹:.\helloneutralino\dist\myApp
  • 一个帮你打好的zip压缩包:.\helloneutralino\dist\myApp-release.zip

清理文件:例如只在Window系统运行,那么只需保留 exe、neu 和 webview2loader.dll 三个文件

8、添加软件图标

  1. Resource Hacker官网下载软件用来添加图标,在线ICO转换网站用来转换图标,将appIcon.png转换为1.ico(必须叫这个名字,就叫1.ico)
  2. 将myApp-win_x64.exe拖拽进ResourceHacker软件,标题栏变化说明加载成功
    在这里插入图片描述
  3. 点击选项Add Binary or Image Resource(菜单选项Action中也有该项,快捷键Ctrl+M)
  4. 点击按钮Select File …,打开1.ico,点击按钮Add Resource,点击保存按钮
    在这里插入图片描述
  5. 修改完成(确认方法:将myApp-win_x64.exe放进随机数文件夹里,躲避Windows图标缓存)
    在这里插入图片描述
  6. .\helloneutralino\dist\myApp-release.zip记得压缩个新的

9、启用Devtools

neutralino.config.json > modes > window > enableInspector,值为 true

10、报错undefined

neu: ERROR Error: ENOENT: no such file or directory, stat '.\undefined'
解决思路:全盘搜索.\helloneutralino\node_modules\@neutralinojs目录,关键词为configObj,但凡有代码非常自信的获取属性时,你就质疑质疑再质疑就行了

例如这段代码,肥肠自信嗷?预知了配置文件有cli.resourcesPath字段
在这里插入图片描述
你就写if + error就行了,如图(utils.error就是他自己实现的console.error,就是字带点颜色而已)
在这里插入图片描述

检验是否解决:主动破坏neutralino.config.json文件
在这里插入图片描述
修复前(李在赣神魔):
在这里插入图片描述
修复后(终于说人话了):
在这里插入图片描述


 
 
 
 


请添加图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值