相关疑难解决方法(0)

Browserify - 如何调用浏览器中通过browserify生成的文件中捆绑的功能

我是nodejs和browserify的新手.我从这个链接开始.

我有文件main.js,其中包含此代码

var unique = require('uniq');

var data = [1, 2, 2, 3, 4, 5, 5, 5, 6];

this.LogData =function(){
console.log(unique(data));
};
Run Code Online (Sandbox Code Playgroud)

现在我用npm安装uniq模块:

 npm install uniq
Run Code Online (Sandbox Code Playgroud)

然后我使用browserify命令将从main.js开始的所有必需模块捆绑到一个名为bundle.js的文件中:

browserify main.js -o bundle.js
Run Code Online (Sandbox Code Playgroud)

生成的文件如下所示:

(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 unique = require('uniq');

var data = [1, 2, 2, 3, 4, 5, 5, 5, 6];

this.LogData =function(){
console.log(unique(data));
};

},{"uniq":2}],2:[function(require,module,exports){
"use strict"

function unique_pred(list, compare) …
Run Code Online (Sandbox Code Playgroud)

node.js npm browserify

79
推荐指数
6
解决办法
3万
查看次数

JavaScriptCore console.log

我已经整理了一个非常简单的程序,它使用JavaScriptCore来评估JS:

#import <CoreFoundation/CoreFoundation.h>
#import <JavaScriptCore/JavaScriptCore.h>

int main(int argc, const char * argv[])
{
    JSGlobalContextRef ctx = JSGlobalContextCreate(NULL);

    FILE *f = fopen(argv[1],"r");
    char * buffer = malloc(10000000);
    fread(buffer,1,10000000,f);

    CFStringRef strs = CFStringCreateWithCString(NULL, buffer, kCFStringEncodingASCII);

    JSStringRef jsstr = JSStringCreateWithCFString(strs);
    JSValueRef result = JSEvaluateScript(ctx, jsstr, NULL, NULL, 0, NULL);

    double res  = JSValueToNumber(ctx, result, NULL);
    JSGlobalContextRelease(ctx);

    printf("%lf\n", res);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这里的想法是最后一个值应该是a Number,并打印该值.这适用于有效的JavaScript代码,例如

var square = function(x) { return x*x; }; square(4)
Run Code Online (Sandbox Code Playgroud)

但是,如果代码尝试执行a console.log,则程序会出现段错误.JSC中是否有可用的日志功能,还是我必须自己滚动?

javascript macos xcode objective-c core-foundation

23
推荐指数
3
解决办法
5109
查看次数