Gou*_*wat 8 html javascript node.js reactjs next.js
抱歉,如果这是一个愚蠢的问题
,但是在 NextJS 中构建的应用程序如何与浏览器通信,因为创建后文件夹结构中没有 .html 文件npx create-next-app。
index.html运行后创建该文件next build。
您为 Next.js 编写的代码是您最终想要服务的网站的抽象。
这意味着您正在以一种简单、方便的方式编写 Javascript 代码,并且必须遵循 Next.js 指定的规则。然后,您告诉 Next.js 编译您的代码 ( next build),Next.js 根据您的 Javascript 代码创建实际的网站。
网站文件是在文件夹内创建的/.next,位置index.html是/.next/server/pages/index.html. (请参阅Next.js 构建 API)。
(另请注意,可能根本没有 index.html 文件,具体取决于指定的路由和构建过程。此外,文件的位置应被视为实现细节,理论上 Next.js 可能会在任何版本升级时更改此行为。 )
Next.js 还提供了自己的节点服务器,因此如果您调用next start(之后next build),它将启动自己的服务器,该服务器只知道在哪里查找文件。
Next.js 还在后台定义了一些路由(基于您的文件夹),这就是(某种程度上)您在浏览器地址栏中/pages看不到任何路由的原因。index.html
如果您使用next export而不是next start,那么 Next.js 将创建静态文件,您将找到一个文件夹,其中包含.html文件和您可能期望看到的所有内容,并且可以由其他静态文件服务器提供服务。(为此,您必须至少<Image>从创建的项目中删除create-next-app,因为的限制next export)
index.html因此,我们找到了 Next.js 创建文件的位置,但还要注意 - 虽然遵循约定是有意义的 -如果您正在编写自己的服务器,index.html实际上甚至不需要有一个文件,例如:index.html
// - save as 'server.js',
// - run 'node server.js'
// - open 'http://localhost:8888/abc' in the browser
const http = require("http");
const url = require("url");
http.createServer(function(request, response) {
var uri = url.parse(request.url).pathname;
response.writeHead(200);
response.write('<html><body>you called the url:' + request.url + '</body></html>');
response.end();
}).listen(8888);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6688 次 |
| 最近记录: |