在 .NET 应用程序中运行 JavaScript
前几天我在做一个副业,意识到我需要使用一些 JavaScript 功能。一想到要再次处理 Node.js 和 npm,我就完全放弃了,所以我决定研究一下在 .NET 应用程序中运行 JavaScript 的可能性。很疯狂吧?实际上,这出乎意料的简单。
1你为什么要这样做?
尽管我很喜欢 .NET 生态系统,但有些事情,JavaScript 生态系统做得更好。其中之一就是任何事情都能找到一个库,特别是涉及到网络时。
以语法高亮为例。这可以直接用 C# 来做,但这不是一个特别流畅的体验。例如,TextMateSharp
项目为 TextMate 语法提供了一个解释器。这些文件是 VS Code 用来为一种语言添加基本语法高亮的。然而,如果你想部署应用程序,它包装了一个本地依赖,这就增加了一些复杂性。
相比之下,JavaScript 有大量成熟的语法高亮库。仅举几例,有 highlight.js
、Prism.js
(在本博客中使用)和 shiki.js
。尤其是前两个,非常成熟,有多个插件和主题,而且有简单的 API。
作为一个 .NET 开发者,JavaScript 的明显问题是,你需要学习并选择进入一个完整的独立工具链,与 Node.js 和 NPM 一起工作。这似乎是一个很大的开销,只是为了使用一个小功能。
因此,我们陷入了一个困境。我们要么走 C#(+ Native)路线,要么就得转用 JavaScript。
或者......我们直接从我们的 .NET 应用程序中调用 JavaScript
在 .NET 应用程序中运行 JavaScript相关推荐
- 在 .NET Core 中运行 JavaScript
一.前言 在 .NET Framework 时,我们可以通过V8.NET等组件来运行 JavaScript,不过目前我看了好几个开源组件包括V8.NET都还不支持 .NET Core ,我们如何在 . ...
- 微信小程序中的JavaScript 简明介绍
小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来完成业务需求. 1 ECMAScript 在大部分开发者看来,ECMAScr ...
- php运行js代码,如何在PHP中运行JavaScript代码?(代码示例)
JavaScript是客户端脚本语言,PHP是用于与数据库交互的服务器端脚本语言.那么如何如何在PHP中运行JavaScript?本篇文章就来给大家介绍几种在PHP中运行JavaScript的方法,希 ...
- 采用Rhino在JAVA中运行JavaScript
由于有些网页采用的是swing技术实现(用swing也可以做出好看的界面),在其中使用JavaScript的话可以采用Rhino 对于Rhino的介绍和使用可以参看这篇文章--Rhino 使 Java ...
- UIWebView中运行javascript的方法得到网页的html内容
原文地址:http://blog.csdn.net/favormm/archive/2010/10/19/5950993.aspx 本篇介绍的方法是通过运行javascript的方法得到网页的html ...
- 如何在Python程序中运行Unix命令
Unix是由Ken Thompson和Dennis Ritchie在1969年左右在AT&T贝尔实验室开发的操作系统. 我们可以使用许多有趣的Unix命令来执行不同的任务. 问题是,我们可以直 ...
- C#在窗体程序中运行控制台程序并管理其进程
运行环境 .Net Framework-4.7.1 visual studio 2017 一. 控制台程序的运行 使用Process类,官方文档地址 使用样例: public void FrpStar ...
- ip地址转换数字函数 iton_c# – RabbitMQ CreateConneciton问题 – 在一个应用程序中运行,但在另一个应用程序中运行...
所以这是连接代码. var factory = new ConnectionFactory { HostName = "myserver", UserName = "te ...
- VC程序中运行其他程序的三种方法
有三个函数可以使用: WinExec, ShellExecute,CreateProcess 1.WinExec(String lpCmdLine,Long nCmdShow); 参数说明: 参数 类 ...
最新文章
- PX4编写msg文件
- 缇 、 像素 、 厘米
- 【比较面】真核生物和原核生物的异同
- 汇编语言——《分支与循环程序设计》实验报告
- 用友t3服务器文件丢失,服务器系统损坏数据恢复
- 缩点(有向图的强连通分量)学习笔记
- VS Code 的 Java 七月更新,新的重构特性
- PHP简单留言板代码
- IOMeter存储测试工具
- 运算放大器虚短和虚断
- 常见必问面试问题一_面试自我介绍3分钟、离职原因、期望薪资…(含面试技巧和答案)
- 基于STM32控制的PS2摇柄模块—双轴按键摇杆控制器控制TFTLCD
- 【kali】WLAN识别
- 【你是如何应对杠精行为?】如此精彩语录,看完不笑算我输
- 滁州市区地图小区楼盘图矢量高清cdr|pdf2021年(高品质)
- Python 七段数码管
- 在线预览文档 Office Online
- 百度编辑器的样式手机端配置
- 矩阵初等变换的“打洞技巧”与“分块矩阵的行列式公式”
- USB摄像机方案汇总分析,好东西都不为人知。