gpt4 book ai didi

javascript - 动态导入不适用于组合的 CRA 和 SSR

转载 作者:行者123 更新时间:2023-12-03 02:03:25 29 4
gpt4 key购买 nike

我已经使用 create-react-app 创建了一个网站,现在由于 seo 的原因我想使用服务器端渲染。

经过长时间的研究,我发现了一个简单的工具 here .

它工作正常,但在我的代码中我有一个动态导入 await import("localization/"+ newLanguage + "/"+ newLanguage + ".json"); 因此我得到SyntaxError:意外的 token 导入错误。

我还尝试过使用System.import。这适用于 SSR,但 CRA 表示 'System.import' 的使用受到限制。请改用 import()。.

如何解决这个问题?我不想弹出或类似并保持轻松。

我的index.js:

require('ignore-styles');
require('babel-register')({
ignore: /\/(build|node_modules)\//,
presets: ['env','react-app'],
plugins: ["syntax-dynamic-import"]
});

require('./server');

这是我的服务器文件:

import express from 'express';
import http from 'http';
import React from 'react';
import ReactDOMServer from 'react-dom/server';
import { StaticRouter } from "react-router";
import App from "./src/App";

const port = 3000;
const app = express();
const server = http.createServer(app);

app.use((req, res) => {

const context = {}
const html = ReactDOMServer.renderToString(
<StaticRouter location={req.url} context={context}>
<App />
</StaticRouter>
);

if(context.url){
res.status(302).redirect(context.url);
return;
}

res.status(200).send(html);
});

server.listen(port, function(){
console.log('Node server running on port ' + port + '.');
console.log("Time: " + new Date(Date.now()));
});

最佳答案

好的。我已经拿到了。

我用过 syntax-dynamic-import来自 babel 的插件。与dynamic-import-node来自爱彼迎,它有效。

关于javascript - 动态导入不适用于组合的 CRA 和 SSR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49918189/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com