Amb*_*dex 5 bootstrapping next.js
我在哪里可以放置将在服务器端和客户端引导的代码?我在两端都需要一些逻辑,并且不想在多个地方维护它。我试过/考虑过:
src/components/_app.jsin 中, constructor 但这似乎只在客户端执行(或者getInitialsProps在服务器端执行的时间不够早)。_app.js constructor and server.js,尽管这意味着我的逻辑不能使用模块系统,import因为server.js不是那样编译的。为其提供一些背景将有所帮助。当您说将引导的代码时,您是指将执行的函数,还是您正在寻找通用代码库,例如在客户端和服务器端使用的实用函数。
我假设您的意思是拥有一个将在客户端和服务器端执行的文件(实用程序函数的情况)。这样,您可以考虑将文件放在项目的根目录中,这样,例如./util.js
这意味着如果您在客户端需要它(例如./pages/index.js),您可以像这样引用它:
import { testUtil } from '../util.js';
Run Code Online (Sandbox Code Playgroud)
如果您在服务器文件夹中需要它(我更喜欢将服务器代码放在目录中./server),则可以像这样引用它:
const { testUtil } = require('../util.js');
Run Code Online (Sandbox Code Playgroud)
唯一的缺点是您必须编写不使用 ES6 结构的代码,以确保客户端和服务器之间的互操作性。
| 归档时间: |
|
| 查看次数: |
209 次 |
| 最近记录: |