【问题标题】:How to specify multiple paths from CLI for Webpack's devServer.contentBase option如何从 CLI 为 Webpack 的 devServer.contentBase 选项指定多个路径
【发布时间】:2019-02-02 09:53:38
【问题描述】:

Webpack documentation for devServer.contentBase

也可以从多个目录提供服务:

webpack.config.js

module.exports = {
  //...
  devServer: {
    contentBase: [path.join(__dirname, 'public'), path.join(__dirname, 'assets')]
  }
};

通过 CLI 使用

webpack-dev-server --content-base /path/to/content/dir

我不知道如何通过 CLI 传递多个路径。

在我的 package.json

"scripts": {
    "build": "webpack",
    "start:dev": "webpack-dev-server --content-base dist"

  },

我尝试为start:dev 命令传递以下值,但它们都不起作用。

webpack-dev-server --content-base dist src/css
webpack-dev-server --content-base dist, src/css
webpack-dev-server --content-base 'dist src/css'
webpack-dev-server --content-base 'dist', 'src/css'
webpack-dev-server --content-base [ 'dist', 'src/css' ]

我找到了一个相关的post,但找不到解决方案。

还有什么标准被遵循来指定如何在命令行上指定一个接受值数组的参数?如果是,请提供参考。

【问题讨论】:

  • 我刚刚检查了source code of webpack-dev-server,它有一些东西要检查数组。我在 Powershell 中传递了一个数组,但它没有用。用你的 shell 试试看,可能会奏效!

标签: webpack webpack-dev-server


【解决方案1】:

看看下面的source codesn-p就知道了

if (Array.isArray(options.contentBase)) {
   options.contentBase = options.contentBase.map((p) => path.resolve(p));
 }

我们需要通过以下方式传递多个--content-base 参数

"webpack-dev-server --content-base dist --content-base src/css"

感谢 Ali Doustkani 在他对我的原始帖子的评论中提供的源代码提示。

【讨论】:

    【解决方案2】:

    只需传递数组中的路径。

    devServer: {
      static: [
        path.join(__dirname, 'public'),
        path.join(__dirname, 'assets'),
      ],
    }
    

    这样你就不再需要--content-base了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-29
      • 2020-08-25
      • 2020-06-06
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多