NODE_PATH или любой псевдоним модуля с узлом-сервером на zeit/now.sh
С помощью @now/node-server
Я пытаюсь добиться этого:
const myLocalLibrary = require('@src/lib/myLocalLibrary');
Вместо
const myLocalLibrary = require('../../../lib/myLocalLibrary');
Проблема в том, что я пробовал несколько вещей, которые не будут работать, в том числе:
настройка NODE_PATH=src
и используя require('src/...
Не работает, потому что установка NODE_PATH в качестве env не имеет никакого эффекта
Для исправления необходимо использовать псевдоним модуля ( https://www.npmjs.com/package/module-alias).
Работает локально, не работает на Zeit, потому что узел не может найти файлы с помощью модуля.
Я использовал:
require("module-alias").addAlias("~", __dirname);
Есть ли способ достичь этого?
0 ответов
Вы можете использовать это
"build": {
"env": {
"NODE_PATH": "src/"
}
}
Причина, по которой ваше решение не может быть построено на ZEIT Now, может заключаться в том, что оно работает только во время выполнения, а Now необходимо разрешить пути во время сборки. Вместо этого вы можете попробовать использовать babel-plugin-root-import, как описано здесь.
Или, если вы просто хотите использовать абсолютный импорт с Next.js и ZEIT Now, см. Этот вопрос.