Webpack sapper网页包警告:';模式';选项尚未设置

Webpack sapper网页包警告:';模式';选项尚未设置,webpack,config,sapper,Webpack,Config,Sapper,我不是一个网页冠军,当我使用“npx出口工兵”时,我有这个警告 WARNING in configuration The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment. You can

我不是一个网页冠军,当我使用“npx出口工兵”时,我有这个警告

    WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/
我试图根据文档更改配置,但什么也没发生(或者在尝试使用CLI时出错)

我应该改变什么来切换到开发模式而不是默认的生产模式? 非常感谢

这是网页包配置文件:

const webpack = require("webpack");
const path = require("path");
const config = require("sapper/config/webpack.js");
const pkg = require("./package.json");


// const mode = process.env.NODE_ENV;      <- Original line
const mode = "development";      //        <- my attempt
const dev = mode === "production";

const alias = { svelte: path.resolve("node_modules", "svelte") };
const extensions = [".mjs", ".js", ".json", ".svelte", ".html"];
const mainFields = ["svelte", "module", "browser", "main"];

module.exports = {
      client: {
            entry: config.client.entry(),
            output: config.client.output(),
            resolve: { alias, extensions, mainFields },
            module: {
                  rules: [
                        {
                              test: /\.(svelte|html)$/,
                              use: {
                                    loader: "svelte-loader",
                                    options: {
                                          dev,
                                          hydratable: true,
                                          hotReload: false, // pending https://github.com/sveltejs/svelte/issues/2377
                                    },
                              },
                        },
                  ],
            },
            mode,
            plugins: [
                  // pending https://github.com/sveltejs/svelte/issues/2377
                  // dev && new webpack.HotModuleReplacementPlugin(),
                  new webpack.DefinePlugin({
                        "process.browser": true,
                        "process.env.NODE_ENV": JSON.stringify(mode),
                  }),
            ].filter(Boolean),
            devtool: dev && "inline-source-map",
      },

      server: {
            entry: config.server.entry(),
            output: config.server.output(),
            target: "node",
            resolve: { alias, extensions, mainFields },
            externals: Object.keys(pkg.dependencies).concat("encoding"),
            module: {
                  rules: [
                        {
                              test: /\.(svelte|html)$/,
                              use: {
                                    loader: "svelte-loader",
                                    options: {
                                          css: false,
                                          generate: "ssr",
                                          dev,
                                    },
                              },
                        },
                  ],
            },
            mode: process.env.NODE_ENV,
            performance: {
                  hints: false, // it doesn't matter if server.js is large
            },
      },

      serviceworker: {
            entry: config.serviceworker.entry(),
            output: config.serviceworker.output(),
            mode: process.env.NODE_ENV,
      },
};
const webpack=require(“webpack”);
常量路径=要求(“路径”);
const config=require(“sapper/config/webpack.js”);
const-pkg=require(“./package.json”);

//const mode=process.env.NODE_env;简短回答

webpack.config.js
中,更改所有出现的
模式:process.env.NODE_env,
模式,
。然后在执行时设置
const mode='development'

长答案

这是因为客户端、服务器和服务工作者的配置不一致地使用了
mode
。客户端使用
mode:mode
,而服务器和服务工作者使用
mode:process.env.NODE\u env
。Webpack抱怨没有设置
mode
,因为
process.env.NODE\u env
是未定义

可选

您还可以将
package.json中的
export
脚本修改为

  "export": "NODE_ENV='development' sapper export"
然后运行
npm运行导出