Javascript JInt需要另一个js文件

Javascript JInt需要另一个js文件,javascript,c#,unity3d,jint,Javascript,C#,Unity3d,Jint,我正在寻找一种在JInt(用于C#Unity的javascript解释器)中本地包含另一个js文件的方法。我知道我可以简单地将我所有的js文件连接成一个字符串,并通过正常方式运行它。但我不想指定要加载的确切文件以及文件加载顺序。我在文件夹和子文件夹中有未定义数量的文件,我只知道哪个文件是main.js 是否有可能使用nodejs中的require('file.js')之类的东西,或者这是一个完全糟糕的主意 多谢各位 另外,该项目计划在Unity JInt下运行。我不确定JInt是否提供此类功能。

我正在寻找一种在JInt(用于C#Unity的javascript解释器)中本地包含另一个js文件的方法。我知道我可以简单地将我所有的js文件连接成一个字符串,并通过正常方式运行它。但我不想指定要加载的确切文件以及文件加载顺序。我在文件夹和子文件夹中有未定义数量的文件,我只知道哪个文件是main.js

是否有可能使用nodejs中的require('file.js')之类的东西,或者这是一个完全糟糕的主意

多谢各位


另外,该项目计划在Unity JInt下运行。

我不确定JInt是否提供此类功能。但是你可以试试类似的东西

假设您有两个js文件,如下所示

// file1.js
log('Hiii.. I am file 1');
require('C:\\file2.js');

// file2.js
log('Hiii.. I am file 2');
using System;
using Jint;
using Jint.Native;

namespace JintSample
{
    class Program
    {
        static void Main(string[] args)
        {
            var engine = new Engine();
            JsValue require(string fileName)
            {
                string jsSource = System.IO.File.ReadAllText(fileName);
                var res = engine.Execute(jsSource).GetCompletionValue();
                return res;
            }

            engine.SetValue("require", new Func<string, JsValue>(require))
            .SetValue("log", new Action<string>(System.Console.WriteLine));

            JsValue name = engine.Execute(@"require('C:\\file1.js')").GetCompletionValue();
        }
    }
}
您可以构建
require
,如下所示

// file1.js
log('Hiii.. I am file 1');
require('C:\\file2.js');

// file2.js
log('Hiii.. I am file 2');
using System;
using Jint;
using Jint.Native;

namespace JintSample
{
    class Program
    {
        static void Main(string[] args)
        {
            var engine = new Engine();
            JsValue require(string fileName)
            {
                string jsSource = System.IO.File.ReadAllText(fileName);
                var res = engine.Execute(jsSource).GetCompletionValue();
                return res;
            }

            engine.SetValue("require", new Func<string, JsValue>(require))
            .SetValue("log", new Action<string>(System.Console.WriteLine));

            JsValue name = engine.Execute(@"require('C:\\file1.js')").GetCompletionValue();
        }
    }
}
使用系统;
使用Jint;
使用Jint.Native;
名称空间JintSample
{
班级计划
{
静态void Main(字符串[]参数)
{
var engine=新引擎();
JsValue require(字符串文件名)
{
字符串jsSource=System.IO.File.ReadAllText(文件名);
var res=engine.Execute(jsSource.GetCompletionValue();
返回res;
}
engine.SetValue(“需要”,新功能(需要))
.SetValue(“log”,新操作(System.Console.WriteLine));
JsValue name=engine.Execute(@“require('C:\\file1.js'))))。GetCompletionValue();
}
}
}
我希望这对你有帮助