Javascript 如何在Express server上创建网页包已启动
我是一个新的反应和网页包。我有Javascript 如何在Express server上创建网页包已启动,javascript,node.js,reactjs,express,webpack,Javascript,Node.js,Reactjs,Express,Webpack,我是一个新的反应和网页包。我有webpack.config.js像这样: const webpack=require('webpack'); const path=require('path') 这是我的Express server的app.js条目: import express from 'express'; import bodyParser from 'body-parser'; import morgan from 'morgan'; import webpack from 'webp
webpack.config.js
像这样:
const webpack=require('webpack');
const path=require('path')
这是我的Express server的app.js
条目:
import express from 'express';
import bodyParser from 'body-parser';
import morgan from 'morgan';
import webpack from 'webpack';
import session from 'express-session';
const app = express();
import config from './webpack.config';
const compiler = webpack(config);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use('/assets', express.static(`${__dirname}/static`));
app.use('/', require('./server/route/index'));
app.listen(3000, () => console.log('Our Blog is listening on port 3000...'));
Webpack不会按照配置在
dist
文件夹中生成任何捆绑包。它只能在我使用webpack cli
命令时生成。此外,在我的html
文档中,我将捆绑包包括为
。我认为这一定是正确的路径,因为它会将/static
映射到本地计算机上配置的dist
文件夹,在生成包后该文件夹正好位于该文件夹中。但由于找不到资源,它一直向我发送404错误。你能帮我解决这个问题吗?webpack在内存中创建文件。所以你看不到它
webpack dev服务器在编译后不会写入任何输出文件。相反,它将捆绑文件保存在内存中,并将它们当作装载在服务器根路径上的真实文件来使用。如果您的页面希望在不同的路径上找到捆绑包文件,则可以使用dev服务器配置中的publicPath选项来更改
我怀疑是因为您没有将其指定为production
模式,所以它没有写入dist
文件夹。您还需要使用。这里有一个关于如何使用它的答案
我希望这会有所帮助。您的项目目录结构是什么样的?
import express from 'express';
import bodyParser from 'body-parser';
import morgan from 'morgan';
import webpack from 'webpack';
import session from 'express-session';
const app = express();
import config from './webpack.config';
const compiler = webpack(config);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use('/assets', express.static(`${__dirname}/static`));
app.use('/', require('./server/route/index'));
app.listen(3000, () => console.log('Our Blog is listening on port 3000...'));