Tag: javascriptcore

在macOS上使用JavaScriptCore.framework(jsc)而不是Node.js来处理非GUI脚本

TL; DR 是一种在JavaScriptCore.framework(jsc可执行文件)中使用macOS的本地javascript解释器运行Node.js脚本的方法。 长: 我愿意编写和共享一个小工具,在网站项目中使用svgo,uglifyJS2,cssclean和csso来缩小和压缩基于文本的文件,压缩部分使用zopfli和brotli。 Svgo,uglifyJS2,cssclean和csso都是Node.js脚本。 在最初的研究中,我偶然发现了几个将node.js脚本编译成可执行文件或者用基于webkit的浏览器框架来重新包装它们的项目。 但是,所有这些项目还包括一个特定的html / css渲染引擎,以便启用guis。 因此,他们添加了一个重要的开销(约60-75mb)的最终文件大小。 由于svgo,uglifyJS2,cssclean和csso脚本不需要guis,我想知道是否有一种方法可以在JavaScriptCore.framework(jsc可执行文件)中使用macOS的本地JavaScript解释器来运行Node.js脚本。

如何使用Browserify和iOS JavaScriptCore

给定一个Node.js模块,它不依赖任何Node.jsfunction,除了modules (export / require),我如何使用JS内核从Objective-C或Swift访问它的函数? 示例“模块”: var compute = function compute(number) { return 2 * number }; exports.compute = compute; Browserified bundle(bundle.js): (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ var compute = function compute(number) { return 2 * number }; exports.compute = compute; […]