banner-loader 可以在打包的代码前添加相关的注释信息
配置 banner-loader
利用 banner-loader 在打包的代码前添加时间戳
module.exports = { resolveLoader: { modules: ['node_modules', path.resolve('loaders')] }, devtool: 'source-map', watch: true, module: { rules: [ { test: /\.js$/, use: { loader: 'banner-loader', options:{ text: '2020/02/', filename: path.resolve(__dirname,'banner.js') } } } ] }, }
|
实现 banner-loader
let loaderUtils = require('loader-utils') let validateOptions = require('schema-utils')
let fs = require('fs')
module.exports = function(source){ let options = loaderUtils.getOptions(this) let cb = this.async() let schema = { type: 'object', properties:{ text: {type: 'string'}, filename: {type: 'string'} } } validateOptions(schema, options, 'banner-loader') if(options.filename){ this.addDependency(options.filename) fs.readFile(options.filename,'utf8',(err, data)=>{ cb(err,`/*${eval(data)}*/${source}`) }) }else{ cb(null, `/*${options.text}*/${source}`) } }
|