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

app 网站 比较网络销售都是诈骗公司吗

app 网站 比较,网络销售都是诈骗公司吗,中央气象台官网,网站ui设计学的是什么Electron调用nodejs的cpp .node扩展【非安全】 环境: electron: 30.1.1 nodejs: 20.14.0前言 Electron中可以非常容易的调用nodejs的js代码,但是对于cpp .node扩展需要一定的配置才能调用,下面介绍一种最简单的cpp扩展的调用方法&#xff…

Electron调用nodejs的cpp .node扩展【非安全】

环境:

electron: 30.1.1
nodejs: 20.14.0

前言

Electron中可以非常容易的调用nodejs的js代码,但是对于cpp .node扩展需要一定的配置才能调用,下面介绍一种最简单的cpp扩展的调用方法,该方法的优点是调用简单,缺点是会降低应用程序的安全性,生产环境中需谨慎使用。

代码

$ tree
.
+--- build
|   +--- Release
|   |   +--- addon.node
+--- addon.cpp
+--- binding.gyp
+--- CMakeLists.txt
+--- index.html
+--- index.js
+--- package.json

index.html

<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>Hello Electron</title><meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline';">
</head><body><p id="version"></p><p id="napi"></p><script>let info = `electron: ${process.versions.electron}, nodejs: ${process.versions.node}, chrome: ${process.versions.chrome}, v8: ${process.versions.v8}`;document.getElementById("version").innerHTML = info;console.log(info);const addon = require('./build/Release/addon.node');info = addon.hello();document.getElementById("napi").innerHTML = info;console.log(info);</script>
</body></html>

index.js

const { app, BrowserWindow } = require('electron/main');
// app.commandLine.appendSwitch('remote-debugging-port', '9222');const createWindow = () => {const win = new BrowserWindow({width: 800,height: 600,webPreferences: {nodeIntegration: true,contextIsolation: false}})win.loadFile('index.html');
}app.whenReady().then(() => {createWindow();
})

addon.cpp

#include <node_api.h>static napi_value helloMethod(napi_env env, napi_callback_info info)
{napi_value result;napi_create_string_utf8(env, "hello world from napi", NAPI_AUTO_LENGTH, &result);return result;
}static napi_value Init(napi_env env, napi_value exports)
{napi_property_descriptor desc = {"hello", 0, helloMethod, 0, 0, 0, napi_default, 0};napi_define_properties(env, exports, 1, &desc);return exports;
}NAPI_MODULE(NODE_GYP_MODULE_NAME, Init)

binding.gyp

{"targets": [{"target_name": "addon","sources": [ "addon.cpp" ]}]
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8.12)project(addon)message(STATUS "operation system is ${CMAKE_SYSTEM}")add_definitions(-std=c++11)include_directories(${CMAKE_JS_INC})
include_directories(.)file(GLOB SOURCE_FILES addon.cpp)add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${CMAKE_JS_SRC})set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".node")target_link_libraries(${PROJECT_NAME} ${CMAKE_JS_LIB})

package.json

{"name": "my-electron-app","version": "1.0.0","description": "","main": "index.js","scripts": {"start": "electron ."}
}

编译

node-gyp configure build

结果

electron: 30.1.1, nodejs: 20.14.0, chrome: 124.0.6367.243, v8: 12.4.254.20-electron.0hello world from napi

禁用 contextIsolation 和启用 nodeIntegration,会降低应用的安全性。务必谨慎使用,并确保你信任加载的所有代码和资源。

http://www.yidumall.com/news/92580.html

相关文章:

  • 学而思最早是做网站的吗百度seo报价
  • 如何分析网站用户体验网络营销策划的方法
  • wordpress表单上传多个文件seo优化教程自学网
  • 上海校园兼职网站建设最近三天的新闻大事小学生
  • 做去自己的网站教育培训网站大全
  • 做私单的网站网盘搜索
  • 展会电子商务网站如何建设网络推广怎么做?
  • 公民道德建设网站长尾关键词挖掘精灵
  • 类网站建设在线培训管理系统
  • 巩义做网站哪家好百度渠道开户
  • 天津市企业网站建设公司个人博客网站怎么做
  • 网站备案公安局成都官网seo费用
  • 网络搞钱路子上海优化网站
  • 国外网站怎么做威客竞价推广外包
  • 做门户网站代码质量方面具体需要注意什么北京网站制作
  • 小孩做AV网站百度营销客户端
  • 携程网站开发google seo教程
  • 做二手房怎找房源网站软文生成器
  • 做公众号文章的网站西安seo计费管理
  • 凡科建站网百度网盘app官方下载
  • 酷家乐网站做墙裙教程网址推广
  • 怎么能查到网站是哪个公司做的南京今日新闻头条
  • 帮忙制作网页的公司网站seo顾问
  • 个人免费网站创建百度收录提交网址
  • 做网站的大骗子网络热词
  • 表白网站怎么做百度怎么注册公司网站
  • 电商网站制作价格怎么注册网站免费的
  • asp学校网站源码百度首页排名优化平台
  • 青岛建网站多少钱湖南搜索引擎推广平台
  • 郑州网站建设老牌公司如何做网站推广及优化