ChakraCore
ChakraCore是一个JavaScript引擎,提供C语言API,可用于为任何C或C兼容项目添加JavaScript支持。它可以在Linux、macOS和Windows上为x64处理器编译。在Windows上还支持x86和ARM架构。未来目标是在Linux上支持x86和ARM处理器,以及在macOS上支持ARM处理器。
ChakraCore的未来
如您所知,Microsoft Edge不再使用Chakra。Microsoft将继续为ChakraCore 1.11提供安全更新直到2021年3月9日,但之后不打算继续支持。
ChakraCore计划作为一个主要针对嵌入式用例的社区项目继续发展。我们希望在未来的版本中提供新功能和增强功能以支持这些用例。我们也邀请任何感兴趣的各方参与此项目。详情请参阅以下草案规划文档: 总体计划 1.12版本计划
另请参阅问题#6384中的讨论
如果您想联系社区团队,请提出问题或加入上面链接的Discord聊天。
安全
如果您认为在ChakraCore 1.11中发现了安全问题,请按照Microsoft 安全技术中心的指导私下与Microsoft分享。通过此渠道报告有助于最大限度地减少使用ChakraCore构建的项目的风险。
如果您在ChakraCore的主分支中发现安全问题,但不在1.11版本中,请加入我们的Discord服务器并私信核心团队成员之一。
文档
构建ChakraCore
您可以在Windows 7 SP1或更高版本,以及Windows Server 2008 R2或更高版本上构建ChakraCore,使用安装了C++支持的Visual Studio 2015或2017。安装Visual Studio后:
- 通过
git clone https://github.com/Microsoft/ChakraCore.git
克隆ChakraCore - 在Visual Studio中打开
Build\Chakra.Core.sln
- 构建解决方案
在macOS上,您可以使用Xcode命令行工具和cmake
构建ChakraCore。
在Linux上,您可以使用cmake
和ninja
构建ChakraCore。
更多详情请参阅构建ChakraCore。
或者,参见获取ChakraCore二进制文件以获取预构建的ChakraCore二进制文件。
使用ChakraCore
构建完成后,您有几种使用ChakraCore的选项:
- 最基本的是使用应用程序ch.exe(在Linux或macOS上为ch)测试引擎是否正常运行。这个应用是ChakraCore的轻量级宿主,您可以用它运行小型应用程序。构建后,您可以在以下位置找到这个二进制文件:
- Windows:
Build\VcBuild\bin\${platform}_${configuration}
(例如Build\VcBuild\bin\x64_debug
) - macOS/Linux:
buildFolder/config/ch
(例如out/Release/ch
)
- Windows:
- 您可以在应用程序中嵌入ChakraCore - 参见文档和示例。
使用ChakraCore的注意事项:ChakraCore是一个JavaScript引擎,它不包括Web浏览器或Node.js提供的外部API。例如,DOM API如document.write()
是ChakraCore不提供的额外API,在应用程序中嵌入ChakraCore时,您需要实现自己的输入和输出API。对于调试,在ch
中您可以使用print()
将文本输出到终端。
或者,如果您使用vcpkg依赖管理器,您可以通过一个命令下载并安装带有CMake集成的ChakraCore:
- vcpkg install chakracore
贡献
欢迎对ChakraCore做出贡献。以下是您可以为ChakraCore贡献的方式:
请参阅贡献指南以获取更多详情。
许可证
代码基于MIT许可证授权。
联系我们
如果您对ChakraCore有问题,或者您想就您遇到的问题或开发建议与我们联系,您可以通过以下方式联系我们: