8 ответов:
Нет комментариев о том, почему вы хотите это сделать, или что может быть более стандартной практикой: вот решение вашего вопроса....
в своем
db.jsэкспорт . Есть много способов, но например:module.exports.init = function () { console.log('hi'); };тогда назовите это так, предполагая, что ваш
db.jsнаходится в том же каталоге, что и ваша командная строка:node -e 'require("./db").init()'для других читателей, ОП
initфункция могла быть вызвана чем угодно, это не важно, это просто конкретное имя, используемое в вопросе.
попробовать make-runnable.
в БД.Яш, добавить
require('make-runnable');до конца.Теперь вы можете сделать:
node db.js initлюбые дальнейшие аргументы будут переданы
initметод.
согласно другим ответам, добавьте следующее к
someFile.jsmodule.exports.someFunction = function () { console.log('hi'); };затем вы должны добавить следующее
package.json"scripts": { "myScript": "node -e 'require(\"./someFile\").someFunction()'" }из терминала вы можете позвонить
npm run myScriptЯ считаю, что это гораздо более простой способ запомнить команды и использовать их
установите run-func в свой проект
npm i -D run-funcзапустите любую экспортированную функцию
run-func db.js initлюбые следующие аргументы будут переданы в качестве параметров функции
init(param1, param2)run-func db.js init param1 param2это также может выполняться из раздела "скрипты" в пакете.json
"db-init": "run-func db.js init"важно
initдолжен быть экспортирован в вашей БД.js filemodule.exports = { init };или ES6 экспорт
export { init };
если вы включите
db.jsв модуль вы можете потребовать его отdb_init.jsи так:node db_init.js.db.js:
module.exports = { method1: function () { ... }, method2: function () { ... } }db_init.js:
var db = require('./db'); db.method1(); db.method2();
простой способ:
допустим, у вас есть БД.js-файл в каталоге помощников в структуре проекта.
теперь пойдите внутри каталога помощников и зайти в узле консоли
helpers $ node2) требуется db.js file
> var db = require("./db")3) вызовите свою функцию (в вашем случае ее init ())
> db.init()надеюсь, что это помогает
если ваш файл содержит только функции, например:
мой_файл.js:
function myMethod(someVariable) { console.log(someVariable) }вызов из командной строки, как это ничего не будет:
node myFile.jsно если вы измените ваш файл:
мой_файл.js:
myMethod("Hello World"); function myMethod(someVariable) { console.log(someVariable) }теперь это будет работать из командной строки:
node myFile.js
просто, в файле javascript testfile.js:
module.exports.test = function () { console.log('hi'); }; this.test();запуск в командной строке:
node testfile.js
Comments