-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
해결됨
TypeError: compiler.plugin is not a function
21.01.26 16:20 작성 조회수 667
0
const path = require('path');
const MyWebpackPlugin = require("./my-webpack-plugin");
module.exports = {
mode : 'development',
entry: {
main: './src/app.js'
},
output: {
path: path.resolve('./dist'),
filename: '[name].js'
},
module : {
rules : [
{
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'url-loader',
options: {
publicPath: './dist/',
name: '[name].[ext]?[hash]',
limit: 20000,
}
}
]
},
plugins: [
new MyWebpackPlugin()
]
}
class MyWebpackPlugin {
apply(compiler) {
/*compiler.hooks.done.tap("My Plugin", stats => {
console.log("MyPlugin: done")
})*/
compiler.plugin('emit', (compilation, callback) => {
const source = compilation.assets['main.js'].source();
compilation.assets['main.js'].source = () => {
const banner = [
'/**',
' * 이것은 BannerPlugin이 처리한 결과입니다.',
' * Build Date: 2019-10-10',
' */'
].join('\n');
return banner + '\n' + source;
}
callback();
})
}
}
module.exports = MyWebpackPlugin;
플러그인 부분 따라서 공부하던 중 class myWebpackPlugin을 블로그 소스로 가져온 뒤에 npm run build를 돌렸는데여,
[webpack-cli] TypeError: compiler.plugin is not a function
이런 에러가 발생했어여ㅠ_____ㅠ 왜 그러는걸까여?
답변을 작성해보세요.
0
답변 1