NODE_PATH или любой псевдоним модуля с узлом-сервером на zeit / now.sh - PullRequest
0 голосов
/ 12 декабря 2018

Используя @​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);

Есть ли способ добиться этого

Ответы [ 2 ]

0 голосов
/ 28 июля 2019

Причина, по которой ваше решение не может быть построено на ZEIT Now, может заключаться в том, что оно работает только во время выполнения, и теперь необходимо разрешить пути во время сборки.Вы можете попробовать использовать babel-plugin-root-import как , описанный здесь .

Или если вы просто хотите использовать абсолютный импорт с Next.js и ZEIT Now , см. этот вопрос .

0 голосов
/ 08 мая 2019

Вы можете использовать это

    "build": {
     "env": {
        "NODE_PATH": "src/"
        }
      }
...