nodejs初学者新手起步

我不知道你们都是怎么做的,我用vscode就是了

先 nodejs.org 下载一个吧,x64吧,以后就都是这个,

安装时提示你需要额外编译py或c++等环境的工具,选装

https://github.com/nodejs/node-gyp#on-windows

当然编译成品什么跨系统都是可以的,不用惊呆了。

其实就是编写js脚本。我们称之为脚本。

npm init 先初始化一个项目,在工程目录下执行

npm install 模块名称 其实吧都是模块组成的玩具

他的模块,有些nodejs本身,有些是C++写的,有些Py写的。

你可以单独安装,其中参数 -g 表示全局,所有工程都可以用。

--save 安装到当前工程中,--save-dev 开发时有用,比如一些打包工具。

另外,你可指定版本,比如 npm install electron@16.0.6 --save-dev

当然你也可以在package.json中 dependencies 定义好模块和版本,类似代码

{
  "name": "xxxhelper",
  "version": "1.0.0",
  "description": "tgsoft",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "dist": "electron-builder --win --x64"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bytenode": "^1.3.4",
    "socket.io": "^4.3.2"
  },
  "devDependencies": {
    "electron": "^16.0.6",
    "electron-builder": "^22.14.5"
  },
  "build": {
    "appId": "com.tegong.xxxhelper",
    "copyright": "tegong",
    "productName": "xxxhelper",
    "directories": {
      "output": "build"
    },
    "dmg": {
      "window": {
        "x": 100,
        "y": 100,
        "width": 800,
        "height": 600
      }
    },
    "win": {
      "icon": "image/icon.ico",
      "target": "zip"
    },
    "linux": {
      "icon": "image/icon.ico"
    },
    "files": [
      {
        "filter": ["**/*","!index.js"]
      }
    ]
  }
}

你要加密代码,方式有很多,混淆、assemblyscript或者字节码,我这里选字节码

用的模块是npm install bytenode --save

怎么加密指定的代码,一是用命令行

bytenode -c index.js             编译`index.js`为`index.jsc`.
bytenode -c index.js app.js      编译多个指定文件.
bytenode -c src/*.js              编译所有src目录中的`.js`文件.
bytenode -c *.js -l %.load.js     创建 `filename.load.js` 加载字节码文件

测试执行字节码文件

bytenode script.jsc [附加参数]

当然也可以在main.js中动态加密,以index.js为例

require('bytenode').compileFile({
  filename: './index.js'  //它会在源文件同一目录下生成同名jsc后缀的字节码文件
});

然后是打包成dmg或exe文件的问题了

以前的人是用exectron-packager 或者 nexe等。

现在基本上是使用exectron-builder,模块安装

npm install electron --save-dev
npm install electron-builder --save-dev

在package.json定义,前面例子有

"scripts": {
    "start": "electron .",
    "dist": "electron-builder --win --x64"
  },

然后执行 npm run dist 即可。

上面的filter的特别说明,刚前面我们说过,字节码加密,那原文件就不要打包了

所以做了特别的过滤说明,比如index.js

"files": [
      {
        "filter": ["**/*","!index.js"]
      }

先说到这里。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注