Не могу импортировать модуль nodejs, используя абсолютный путь к файлу (meteor, linux. Отлично работает в Windows) - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь импортировать файл в server.js проекта метеора в Linux.Например:

 var temp = require('/home/HaveAGitGat/Documents/test.js');

Я получаю следующую ошибку:

 Error: Cannot find module '/home/HaveAGitGat/Documents/test.js'

Смущает то, что это прекрасно работает в Windows, использующей метеорит.Он также прекрасно работает в Linux, когда запускает чистые файлы nodejs без метеора.

Есть идеи по поводу разрешения?

1 Ответ

0 голосов
/ 25 сентября 2019

Вы можете поместить свои тестовые файлы в ваш метеоритный проект, и это рекомендуется делать.Ввод абсолютных путей в ваш код означает, что вы привязаны к этой структуре папок, что не очень удобно для переносимости.

Например, если бы вы хотели, чтобы я сотрудничал с вашим проектом, мне пришлось бы изменить все операторы require, чтобы он работал, и когда я фиксирую эти изменения, он нарушит его для вас.

Вот альтернативный вариант: создайте папку в imports/test для хранения всех ваших тестовых файлов, чтобы вы могли импортировать их с помощью следующих утверждений:

import testCase1 from '/imports/test/test1

Тогда ваш код чистый, переносимый и вашПроект является автономным.

Подробнее см. https://guide.meteor.com/testing.html

...