Как настроить плагины веб-пакетов с горячей перезагрузкой с помощью Next.js? - PullRequest
0 голосов
/ 05 ноября 2018

Я использую проект на основе примера в https://github.com/zeit/next.js/tree/master/examples/custom-server-typescript

Я настроил плагин Babel в next.config.js следующим образом:

let config = withTypescript({ serverRuntimeConfig: { // Will only be available on the server side mySecret: "secret" }, publicRuntimeConfig: { // Will be available on both server and client port: parseInt(process.env.PORT, 10) || 3000, mySecret: process.env.MY_SECRET // Pass through env variables }, // See https://github.com/zeit/next.js/tree/master/examples/with-sw-precache webpack: config => { config.plugins.push( new SWPrecacheWebpackPlugin({ verbose: true, staticFileGlobsIgnorePatterns: [/\.next\//], runtimeCaching: [ { handler: "networkFirst", urlPattern: /^https?.*/ } ] }) ) return config } }) module.exports = config

Когда я запускаю yarn build (чей скрипт next build && tsc --project tsconfig.server.json), запускается плагин веб-пакета и генерируется service-worker.js, как и ожидалось.

Однако, когда я запускаю yarn dev (чей скрипт nodemon server/index.ts), плагин Webpack не запускается и service-worker.js не генерируется.

Итак, насколько я могу судить, Webpack не запускается напрямую, когда я использую yarn dev, и он использует только ts-node в источнике TypeScript. Если мое понимание этого правильное, как я могу получить горячую перезагрузку и загрузить другие плагины Babel (как настроено в next.config.js)? Если мое понимание нарушено, пожалуйста, просветите меня!

...