node.js - webpack 不再缩小包

标签 node.js webpack minify bundling-and-minification

我正在编写一个 npm 模块,该模块通过 node 与 cli 运行 webpack 编译器。我已经有一段时间没有测试我的构建函数了,因为它正在工作,但我最近运行了它,而且我似乎无法让 webpack 来缩小捆绑 js。我的 Node 、webpack 和一些依赖版本进行了一些小更新,但没有重大升级,也没有重大更改。 我一直在绞尽脑汁地试图让这个功能再次发挥作用,并且正在向社区伸出援手,让我保持理智。

一切似乎都编译得很好,只有缩小似乎停止了工作。优化对象是作为此故障排除的一部分添加的,并且在以前没有的情况下正常工作。

假设配置看起来没问题,webpack 或 Node 中是否有任何新内容可能会阻止其工作?我被难住了...

webpack 配置...

({
  devtool: 'source-map',
  entry: '/foo.js'
  externals: [nodeExternals()],
  mode: 'production',
  target: 'web',
  module: {
    rules: [
      {
        test: /\.coffee$/,
        use: [
          {
            loader: 'babel-loader'
          },
          {
            loader: 'coffee-loader'
          }
        ]
      },
      {
        test: /\.js$/,
        use: [
          {
            loader: 'babel-loader'
          }
        ]
      },
      {
        test: /\.(sass|css)$/,
        use: [
          {
            loader: Extract.loader,
            options: {
              sourceMap: true
            }
          },
          {
            loader: 'css-loader',
            options: {
              sourceMap: true
            }
          },
          {
            loader: 'sass-loader',
            options: {
              sourceMap: true
            }
          }
        ]
      }
    ]
  },
  optimization: {
    minimize: true,
    noEmitOnErrors: true
  },
  output: {
    filename: 'project_1.0.0.js',
    path: '/build'
  },
  plugins: [
    new Write,
    new Extract({
      filename: 'project_1.0.0.css'
    })
  ],
  resolve: {
    modules: ['node_modules']
  }
});

更新:找到解决方案

该问题是由于output.filename 的.jss 扩展名造成的。将其更新为 .js 解决了该问题。然而,在我看来,这仍然是一个奇怪的结果。如果我感到好奇,我可能会发布另一个更新并解释 webpack 的行为

最佳答案

因此,在为堆栈溢出帖子模拟 webpack 配置 js 对象的过程中(我有一些变量和某些值的函数),我注意到对于 output.filename,我有 project.jss 而不是 project.js。我将它与 Extract 插件文件名混淆,并制作了一个 js/css 混合扩展...当我将其更正为 .js 时,它现在再次工作...这很棒...但是...

为什么会破坏它?显然你不能只创建一个包含你想要的任何扩展的包...但是为什么它不会抛出错误,为什么缩小是唯一不起作用的事情...这些都是更多的反问句,但我内心的程序员想弄清楚为什么...似乎做它正在做的事情会是额外的工作。

@jayarjo 感谢您抽出时间回复。我不确定如果我没有在那里格式化缩进来尝试你的代码,我是否会发现这一点。 :)

关于node.js - webpack 不再缩小包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55429633/

相关文章:

vue.js - 使用webpack复制tinymce皮肤的目录

javascript - 使用tinymce压缩器

javascript - 缩小器可以做到这一点吗? (……这是个好主意吗?)

jekyll - 如何使用 jekyll 插件压缩和缩小资源

javascript - 使用 Service Worker 时离线重写 URL

javascript - 如何使用下划线js从对象数组中查找字符串?

javascript - 修复 : Use global instead of window

node.js - 请求不会经过 api 路径

templates - 如何使用 html-webpack-plugin + twig-loader 包含图像?

javascript - Webpack:拆分 vendor 和应用程序代码