22

我正在使用 将mini-css-extract-pluginCSS 从包中提取到文件中。我需要将该文件放在文件系统中的不同位置。

如何配置将mini-css-extract-pluginCSS 文件拖放到与 JS 包不同的路径?

4

2 回答 2

29

让我们假设以下配置:

webpack.config.js

module.exports = {
  // ...
  output: {
    path: path.resolve(__dirname, "dist") // this is the default value
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: "[name].css" // change this RELATIVE to your output.path!
    })
  ]
  // ...
}

您的输出路径将解析为 - 例如 - 的位置/home/terribledev/projects/some-project/dist

如果将MiniCssExtractPlugin选项对象的文件名属性更改为../../[name].css,它现在将输出到/home/terribledev/projects/yourcssfile.css,例如:

module.exports = {
  output: {
    path: path.resolve(__dirname, "dist")
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: "../../[name].css"
    })
  ]
  // ...
}
于 2018-10-19T15:12:46.173 回答
4

为了在构建目录中指定输出路径,我在文件名中包含子目录:

const path = require('path');

module.exports = {
    // ...
    output: {
      path: path.resolve(process.cwd(), 'build'), // should be an absolute path
      filename: 'js/[name].js', // relative to output.path
    },
    plugins: [
        new MiniCssExtractPlugin({
            filename: "css/[name].css", // relative to output.path
        }),
    ],
    // ...
}

我已经在 Webpack 版本 4 和 5 中成功地测试了这一点。查看Webpack 输出的文档以了解更多信息。

于 2020-12-09T17:42:50.240 回答