yarn局部安装了webpack但是一直显示未安装
多次尝试删除node_modules和build文件夹重新安装,但是还是显示webpack not installed
package.json如下
"devDependencies": {
"@babel/core": "^7.8.3",
"@babel/polyfill": "7.8.3",
"@babel/preset-env": "^7.8.3",
"autoprefixer": "9.7.4",
"babel-loader": "^8.0.6",
"clean-webpack-plugin": "3.0.0",
"css-loader": "3.4.2",
"file-loader": "5.0.2",
"html-webpack-plugin": "3.2.0",
"postcss-loader": "3.0.0",
"style-loader": "1.1.3",
"url-loader": "3.0.0",
"webpack": "4.41.5",
"webpack-cli": "3.3.10"
}
build/webpack.config.js
// webpack.config.js
const path = require('path');
// 修改引入HTML的js的名称
const htmlWebpaclPlugin = require("html-webpack-plugin");
// 清除上次的编译
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
// css 分割,4.0以前用extract-text-webpack-plugin
// 这个插件应该只用在 production 配置中,并且在loaders链中不使用 style-loader
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
mode: "development", // 开发模式
// entry: path.resolve(__dirname, "../src/main.js"), // 单入口文件
// entry: {
// main: path.resolve(__dirname, "../src/main.js")
// }, // 多入口文件
entry: [
'@babel/polyfill',
path.resolve(__dirname, "../src/main.js")
],
output: {
filename: "[name].[hash:8].js", // 打包后的文件名称
path: path.resolve(__dirname, "../dist") // 打包后的目录
},
plugins: [
new htmlWebpaclPlugin({
template: path.resolve(__dirname, '../public/index.html'),
filename: 'index.html',
chunks: ['main'] // 与入口文件对应的模块名
}),
new MiniCssExtractPlugin({
// [id]和[name]在webpack中被称做placeholder。
// 用来在webpack构建之后动态得替换内容的(本质上是正则替换)
// filename比较简单就是根据entry中的名字来命名,是静态的。
// chunkFilename是构建应用的时候生成的
filename: '[name].[hash:8].css',
// chunkFilename用来打包require.ensure方法中引入的模块
// 告诉webapck如何处理非entry模块(有的文件不是在entry上的),非entry的只能使用id
// id在打包后的文件里
chunkFilename: '[id].css'
}),
new CleanWebpackPlugin()
],
module: {
rules: [
{
test: /\.css/,
// style-loader会添加到style标签里,这里是打包到单个文件
use: [
MiniCssExtractPlugin.loader,
"css-loader",
"postcss-loader"
] // 从右向左解析原则
},
{
test: /\.(jpe?g|png|gif)$/i,
use: {
loader: 'url-loader',
options: {
limit: 10240,
fallback: {
// url-loader 一般与file-loader搭配使用,功能与 file-loader 类似,如果文件小于限制的大小。
// 则会返回 base64 编码,否则使用 file-loader 将文件移动到输出的目录中
loader: 'file-loader',
options: {
name: 'img/[name].[hash8].[ext]'
}
}
}
}
},
{
test: /\.js$/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
},
exclude: /node_modules/
}
]
}
};
每次运行yarn build命令,都会显示如下的报错
明明安装了webpack,即使卸载webpack重新yarn add webpack
,尝试了删除node_modules文件夹重新yarn,依然会报webpack not installed
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
已解决。。因为有一个包没有安装,但是在代码里调用了
删掉package-lock 和 node_modules 然后重新npm i 看看