- publicPath в конфигурации Webpack установлен на
/contents/dist/assets/
- просмотр файла в Express использует
handlebars
в конфигурации Webpack, шаблон handlebars
настроен для вывода правильных тегов скрипта / таблицы стилей ссылки.
new HtmlWebpackPlugin({
template: 'views/index.handlebars',
filename: 'views/index.handlebars',
}),
Так что это также выводит /contents/dist/assets/
в папке views
. Таким образом, /contents/dist/assets/views
- это место, где оно будет выведено.
и в Express для этого файла настроен маршрут.
route.get ('*', (req, res) => {
res.render ('index' .....)
И ...
- Я настроил webpack-dev-middleware
для обслуживания активов
const webpack = require('webpack');
const webpackDevMiddleware = require('webpack-dev-middleware');
const config = require('../../webpack.config');
const compiler = webpack(config);
const app = express();
app.use(webpackDevMiddleware(compiler, config.devServer));
- Я установил плагин
new CleanWebpackPlugin()
для удаления содержимого папки dist
перед каждой сборкой, чтобы он начинался с новой пустой папки.
Как это должно работать на самом деле?
Экспресс ищет вид, где я сказал, чтобы посмотреть.
const viewsDir = resolve(__dirname, '../../client/views');
app.set('views', viewsDir);
Когда я запускаю webpack, он удаляет содержимое папки dist
, чтобы его там не было. НО, не webpack-dev-middleware
предположим , чтобы обслуживать все эти активы (HTML, Handlebars и т. Д.) Через память? Не файловая система? Когда Экспресс попадает на маршрут /
, нет представления для обслуживания.
Как все это предполагается соединить и работать?