Проблема с развертыванием Next js + Express с использованием Zeit Now

Проще (на мой взгляд) решение состоит в том, чтобы создать новый словарь и обновить его с содержимым старого:

my_dict={'a':1}

my_copy = {}

my_copy.update( my_dict )

my_dict['a']=2

my_dict['a']
Out[34]: 2

my_copy['a']
Out[35]: 1

Проблема с этим подходом заключается в том, что он не может быть «глубоким» достаточно'. то есть не рекурсивно глубока. достаточно для простых объектов, но не для вложенных словарей. Вот пример, где он может быть недостаточно глубоким:

my_dict1={'b':2}

my_dict2={'c':3}

my_dict3={ 'b': my_dict1, 'c':my_dict2 }

my_copy = {}

my_copy.update( my_dict3 )

my_dict1['b']='z'

my_copy
Out[42]: {'b': {'b': 'z'}, 'c': {'c': 3}}

Используя Deepcopy (), я могу устранить полу-мелкое поведение, но я думаю, что нужно решить, какой подход подходит для вашего приложения. В большинстве случаев вам может быть безразлично, но нужно знать о возможных ловушках ... окончательный пример:

import copy

my_copy2 = copy.deepcopy( my_dict3 )

my_dict1['b']='99'

my_copy2
Out[46]: {'b': {'b': 'z'}, 'c': {'c': 3}}
0
задан washboardalex 19 March 2019 в 23:43
поделиться

2 ответа

вам придется использовать лямбды со следующими now.json

{
    "version": 2,
    "builds": [
        { "src": "package.json", "use": "@now/next" },
        { "src": "lambda_file.js", "use": "@now/node"}
    ],
    "routes": [
        { "src": "api_route", "dest": "lambda_file.js"}
    ]
}
0
ответ дан evgeni fotia 19 March 2019 в 23:43
поделиться

Попробуйте использовать @now/node-server или @now/node builder внутри now.json

{
  "version": 2,
  "builds": [{ "src": "package.json", "use": "@now/node-server" }]
}

, поскольку @now/next используется для Next .js apps

Надеюсь, это поможет!

0
ответ дан iurii 19 March 2019 в 23:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: