Могу ли я использовать webpack на стороне клиента без сервера nodejs?

Я пытаюсь создать веб-приложение, где я хочу хранить все html, js и css файлы на amazon s3 и общаться с остальным сервером через api.

Я пытаюсь достичь ленивой загрузки и, возможно, маршрутизации с помощью маршрутизатора. Кажется, что в webpack есть это разделение кода функции, которое будет работать так же, как ленивая загрузка.

Тем не менее, все учебники и примеры, которые я нашел, включают webpack-dev-сервер, который является небольшим узлом экспресс-сервера. В любом случае, я мог бы сгенерировать пакет во время сборки и загрузить все в amazon s3 и добиться чего-то подобного Angular ocLazyLoading?

Ответы

Ответ 1

Определенно можно создать статический пакет js файла, который вы можете использовать в своем производственном коде, который не включает webpack-dev-server.

См. Этот пример в качестве справки (примечание: я являюсь владельцем этого репо). webpack.prod.config.js создает файл готового готового продукта, используя webpack через node.js, который больше не требует node.js. Из-за этого вы можете просто обслуживать его как простой статический файл (что сделано в живом примере).

Основное различие заключается в том, как точки входа записываются в dev- и в производственных средах. Для разработки используется webpack-dev-server

module.exports = {
    entry: [
        'webpack-dev-server/client?http://localhost:3000',
        'webpack/hot/only-dev-server',
        './src/index'
    ],
    // ...
}

В рабочей среде вы пропускаете webpack-dev-server и горячую перезагружаемую часть

module.exports = {
    entry: [
        './src/index'
    ],
    // ...
}

Если вы хотите разделить свой код на несколько пакетов, вы можете посмотреть, как определить несколько точек входа и связать файлы соответствующим образом.