如何在节点repl中要求.js文件

时间:2017-12-28 00:59:11

标签: node.js

所以我通常使用ruby irb,我可以通过运行

将我写入控制台环境的.rb文件拉出来
load './script.rb' 

然后我在script.rb中编写的所有函数都可用。

我无法弄清楚我的生活如何在节点" console"环境!

2 个答案:

答案 0 :(得分:2)

您可以使用OK功能加载JavaScript文件。以下示例假定Node.js进程是在您的文件所在的目录中启动的。

public static class TimePickerFragment extends android.support.v4.app.DialogFragment
        implements TimePickerDialog.OnTimeSetListener {

    // String used to set both Start and end times
    String startEndTime;


    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        // Use the current time as the default values for the picker
        final Calendar c = Calendar.getInstance();
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);

        Bundle b = getArguments();

        if (b != null) {
            startEndTime = b.getString("startEndTime");
        }


        // Create a new instance of TimePickerDialog and return it
        return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity()));
    }


    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

        // Do something with the time chosen by the user
        switch (startEndTime) {

            case "startTime":

                break;

            case "endTime":

                break;

            default:

                break;

        }

    }
}


public void showTimePickerDialog(String startEndTime) {

    TimePickerFragment timePickerFragment = new TimePickerFragment();

    Bundle b = new Bundle();

    b.putString("startEndTime", startEndTime);

    timePickerFragment.setArguments(b);

    timePickerFragment.show(context.getSupportFragmentManager(), "timePicker");

}

这将执行文件的内容。

如果您已导出函数或对象,则可以将它们分配给变量并在以后使用它们。

require

答案 1 :(得分:1)

与许多其他开发框架/语言一样,Node有一个Modules/Package System,它是一个CommonJS变体。要加载模块,请使用require()。运行JavaScript文件或在REPL中运行时require()的用法相同。

您可以要求节点核心模块,NPM已安装的软件包或您自己的本地模块。当加载package.json或本地模块中指定的NPM包时,Node将从当前工作目录(CWD)加载它们,您可以使用process.cwd().进行检查。将CWD设置为绝对路径您从中启动REPL的目录。

您可以通过在CLI中运行node来启动REPL,并且需要您的软件包,如下所示。

// Core Package
const os = require('os')`
console.log(os)

// NPM Package
const moment = require('moment')
console.log(moment)

// Local Package
const myPackage = require('./myPackage')
console.log(myPackage)

运行-r时,您还可以使用node标志预先要求模块。下面将使用预先加载的os包启动Node REPL。然后,您可以使用变量os

访问os
node -r os
console.log(os)

将来,Node也可能支持ECMAScript Modules(即import)。您可以在Enhancement Proposal

中阅读有关该信息的更多详细信息