我如何将package.json版本编写到我的WebPack包中?

Som*_*gOn 15 node.js webpack

我的package.json文件包含我的模块的一个版本,它最终被编译成我在web项目中包含的app.bundle.js文件.我真的希望将package.json文件中的版本号作为注释写入app.bundle.js文件的文件开头.

是否有一个WebPack插件来执行此操作或使用WebPack本身的设置?

dre*_*cat 26

Webpack附带一个BannerPlugin,它在每个生成的块的顶部添加一个横幅.

您可以要求将package.json其用作任何常规JavaScript对象以获取该version字段.

var PACKAGE = require('./package.json');
var version = PACKAGE.version;
Run Code Online (Sandbox Code Playgroud)

然后使用它来生成将在其中使用的所需横幅字符串BannerPlugin.

webpack.config.js

var PACKAGE = require('./package.json');
var banner = PACKAGE.name + ' - ' + PACKAGE.version;

module.exports = {
  // Other stuff
  plugins: [
    new webpack.BannerPlugin(banner)
  ]
};
Run Code Online (Sandbox Code Playgroud)

我用它将package.json文件中的版本和其他信息添加到我自己的库的顶部.检查此项目的webpack.config.js以获取一个工作示例.

  • 注意:如果你使用`UglifyJsPlugin`,请确保在`UglifyJsPlugin`之后添加`BannerPlugin`. (4认同)