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, см. Этот вопрос.

Другие вопросы по тегам