ngx proj 在 Electron、nw.js 与 Brow
2018-04-11 本文已影响0人
环零弦
一直以来都是在 WebStorm 中编程,然后直接 build 成目标,然后 Electron 直接打开目标目录。当在项目中需要引入自己编写的 js 文件时,可以直接使用 Electron相应的模块引入即可,如下:
this.randylib = window.require('electron').remote.require('./randy-assets/librandy');
当然也可以使用 Electron 的 ipc 倒腾一下。
但是众所周知, Electron 和 nw.js 思维是不一样的,如何在 nw.js 中引入自己编写的 js 包是问题的难点。
所以,步骤如下:
1. rebuild ref 和 ffi 模块
Into ffi and ref directory and
.../node_modules/ffi$ nw-gyp rebuild -target=0.14.7 -arch=64
.../node_modules/ref$ nw-gyp rebuild -target=0.14.7 -arch=64
2. .angular-cli.json 文件中加入外引 js 文件的声明
Like this:
"scripts": [
"randy-assets/librandy4nw.js"
]
3. 在文件中声明引入的函数,使用即可
declare var execSQLQuery: any
4. 要注意
之前在 Electron 中,ffi 加载动态链接库的路径是:
`${__dirname}`
但是 __dirname
变量并不能在 nwjs 中被识别,所以改为:
process.cwd() + '/randy-assets';
这种方式。