如何使用Next.js设置热重载的webpack插件?

时间:2018-11-05 01:50:47

标签: typescript webpack next.js

我正在使用基于https://github.com/zeit/next.js/tree/master/examples/custom-server-typescript

上的示例的项目

我已经在next.config.js中配置了Babel插件,如下所示:

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)时,将运行webpack插件,并按预期生成service-worker.js

但是,当我运行yarn dev(脚本为nodemon server/index.ts)时,Webpack插件未运行,也没有生成service-worker.js

因此,最好的是,我在使用yarn dev时Webpack不是直接运行,而在TypeScript源代码中它仅使用ts-node。如果我的理解是正确的,我如何获得热重载并加载其他babel插件(在next.config.js中进行配置)?如果我的理解不对,请赐教!

0 个答案:

没有答案