mirror of
https://github.com/hanzoai/react.git
synced 2026-09-24 17:02:27 +00:00
Fix Flight Prod Fixture (#20382)
* Don't use async/await Babel transpilation fails for some reason in prod. * Set up production runner command Uses python because meh. Just to show it's static. * Use build folder in prod
This commit is contained in:
committed by
GitHub
parent
ab487256db
commit
205cab5b65
@@ -68,7 +68,9 @@
|
||||
"start": "concurrently \"npm run start:server\" \"npm run start:client\"",
|
||||
"start:client": "node scripts/start.js",
|
||||
"start:server": "NODE_ENV=development node --experimental-loader ./loader/index.js --conditions=react-server server",
|
||||
"start:prod": "node scripts/build.js && NODE_ENV=production node server",
|
||||
"start:prod": "node scripts/build.js && concurrently \"npm run start:prod-server\" \"npm run start:prod-client\"",
|
||||
"start:prod-client": "cd ./build && python -m SimpleHTTPServer 3000",
|
||||
"start:prod-server": "NODE_ENV=production node --experimental-loader ./loader/index.js --conditions=react-server server",
|
||||
"build": "node scripts/build.js",
|
||||
"test": "node scripts/test.js --env=jsdom"
|
||||
},
|
||||
|
||||
@@ -1,20 +1,27 @@
|
||||
'use strict';
|
||||
|
||||
import {pipeToNodeWritable} from 'react-transport-dom-webpack/server';
|
||||
import {readFileSync} from 'fs';
|
||||
import {readFile} from 'fs';
|
||||
import {resolve} from 'path';
|
||||
import * as React from 'react';
|
||||
|
||||
module.exports = async function(req, res) {
|
||||
const m = await import('../src/App.server.js');
|
||||
module.exports = function(req, res) {
|
||||
// const m = require('../src/App.server.js');
|
||||
const App = m.default.default || m.default;
|
||||
res.setHeader('Access-Control-Allow-Origin', '*');
|
||||
const moduleMap = JSON.parse(
|
||||
readFileSync(
|
||||
resolve(__dirname, '../dist/react-transport-manifest.json'),
|
||||
'utf8'
|
||||
)
|
||||
);
|
||||
pipeToNodeWritable(<App />, res, moduleMap);
|
||||
import('../src/App.server.js').then(m => {
|
||||
const dist = process.env.NODE_ENV === 'development' ? 'dist' : 'build';
|
||||
readFile(
|
||||
resolve(__dirname, `../${dist}/react-transport-manifest.json`),
|
||||
'utf8',
|
||||
(err, data) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
const App = m.default.default || m.default;
|
||||
res.setHeader('Access-Control-Allow-Origin', '*');
|
||||
const moduleMap = JSON.parse(data);
|
||||
pipeToNodeWritable(<App />, res, moduleMap);
|
||||
}
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user