Не удается получить доступ к динамическому html с помощью html-webpack-plugin с помощью экспресс-сервера

Недавно я хочу использовать html-webpack-plugin в своем проекте, но сталкиваюсь с проблемой. Вот часть моих server.js и webpack.dev.config.js

server.js

if (process.env.NODE_ENV === 'development')
{
    const webpack = require('webpack');
    const config = require('./webpack.development.config');
    const compiler = webpack(config);

    app.use(require('webpack-dev-middleware')(compiler,
    {
        noInfo: true,
        publicPath: '/'
    }));

    app.use(require('webpack-hot-middleware')(compiler));
}

    app.get('*', (req, res) =>
    {
        res.sendFile(path.resolve(__dirname, 'public/asset','index.html'));
    });

webpack.dev.js

plugins: [
    new HtmlWebpackPlugin({
        template: './public/enter.html',
        filename: 'index.html'
    }),
    new PreloadWebpackPlugin()
]

Я могу получить доступ к этому прямо как http: // localhost: 3000 . Предполагается, что к нему должен быть подключен любой путь, например http: // localhost: 3000 / counter , но получить

Ошибка: ENOENT: нет такого файла или каталога, stat '/Users/paulhuang/Documents/workspace/react-redux-template/public/asset/index.html'

Я использую npm run build для создания harddisk index.html и решает проблему.

Любая другая лучшая идея? Благодаря!

node.js,express,webpack,html-webpack-plugin,

0

Ответов: 0

Не удается получить доступ к динамическому html с помощью html-webpack-plugin с помощью экспресс-сервера

Недавно я хочу использовать html-webpack-plugin в своем проекте, но сталкиваюсь с проблемой. Вот часть моих server.js и webpack.dev.config.js

server.js

if (process.env.NODE_ENV === 'development')
{
    const webpack = require('webpack');
    const config = require('./webpack.development.config');
    const compiler = webpack(config);

    app.use(require('webpack-dev-middleware')(compiler,
    {
        noInfo: true,
        publicPath: '/'
    }));

    app.use(require('webpack-hot-middleware')(compiler));
}

    app.get('*', (req, res) =>
    {
        res.sendFile(path.resolve(__dirname, 'public/asset','index.html'));
    });

webpack.dev.js

plugins: [
    new HtmlWebpackPlugin({
        template: './public/enter.html',
        filename: 'index.html'
    }),
    new PreloadWebpackPlugin()
]

Я могу получить доступ к этому прямо как http: // localhost: 3000 . Предполагается, что к нему должен быть подключен любой путь, например http: // localhost: 3000 / counter , но получить

Ошибка: ENOENT: нет такого файла или каталога, stat '/Users/paulhuang/Documents/workspace/react-redux-template/public/asset/index.html'

Я использую npm run build для создания harddisk index.html и решает проблему.

Любая другая лучшая идея? Благодаря!

00Node.js, экспресс, WebPack, HTML-WebPack-плагин,
Похожие вопросы
Яндекс.Метрика