var FS = require('fs');
var Path = require('path');
var Jsonfile = require('jsonfile');
var search = function() {};
search.prototype.projectContainerDirPath = null;
/*
* interface
*/
search.prototype.setPaths = function() {
this.projectContainerDirPath = Path.join(__dirname, '../projects');
};
module.exports.search = search;
Это мой файл a.js
. В этом файле я создал объект с именем search
и добавил его прототип переменной и функции. Наконец, я экспортировал объект поиска.Требуется Javascript-файл в другом файле JavaScript
У меня есть b.js
файл, который require
, a.js
файл. b.js
файл показан ниже
var search = require("./search");
search.setPaths();
Что я пытаюсь здесь, чтобы использовать все функции и переменные a.js
внутри b.js
. Но когда b.js
запускается, Node JS возвращает ошибку ниже
TypeError: search.setPaths is not a function
Я пытался экспортировать новый объект search
.
var obj = new search();
module.exports.search = obj;
И снова создает новый объект search
в файле b.js
var search = require("./a");
var obj = new search();
search.setPaths();
Но эти две попытки были не удалось. Причина, по которой я использую прототип, есть еще несколько объектов, которые наследуют прототип объекта search
. Так можно ли экспортировать этот объект search
и использовать его в другом файле JavaScript?
nope. он не работает – CoderS
первый код в вашем вопросе, названный ** a.js **, но на самом деле вы импортируете **./search **, что означает **./search.js **, а не ** a .js **.Я думаю, что это проблема. – modernator
Это потому, что фактическое имя файла - search.js. Я просто использовал a и b в качестве примера. Я скопировал фактический код и пропустил код здесь. Я редактировал вопрос. – CoderS