webpack的一些坑

最近自己着手做一个小的Demo需要webpack,目前版本号是4.41.2,想使用的版本是3.6.0,因3x版本和4x版本很多地方不同,所以在安装过程中也是很多坎坷,下面是遇到的一些坑,和一些解决办法

1.操作步骤:首先全局安装npm install -g webpack,再webpack -v查看版本号报错

解释报错信息:报错信息的意思是需要我安装 webpack-cli,问我是否需要安装,我选择yes,但提示并没有发现 模板webpack-cli

解决办法:全局安装 npm install -g webpack-cli

One CLI for webpack must be installed. These are recommended choices, delivered as separate packages:
 - webpack-cli (https://github.com/webpack/webpack-cli)
   The original webpack full-featured CLI.
We will use "npm" to install the CLI via "npm install -D".
Do you want to install ‘webpack-cli‘ (yes/no): yes
Installing ‘webpack-cli‘ (running ‘npm install -D webpack-cli‘)...
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

+ [email protected]
updated 1 package and audited 5285 packages in 13.683s

found 0 vulnerabilities

Error: Cannot find module ‘webpack-cli‘
Require stack:
- C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)
    at Function.Module._load (internal/modules/cjs/loader.js:687:27)
    at Module.require (internal/modules/cjs/loader.js:849:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js:143:5
    at processTicksAndRejections (internal/process/task_queues.js:93:5) {
  code: ‘MODULE_NOT_FOUND‘,
  requireStack: [
    ‘C:\\Users\\Administrator\\AppData\\Roaming\\npm\\node_modules\\webpack\\bin\\webpack.js‘
  ]
}

2.操作步骤:本地安装npm install [email protected] --save-dev

报错原因:因全局安装webpack版本4.41.2,全局版本与本地版本不一致,导致运行错误

报错提示:webpack中 presetToOptions 报错

解决办法:

  • 根据路径D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js找到报错信息处,将

    const statsPresetToOptions = require("webpack").Stats.presetToOptions; 进行删除    //不推荐此方法,尽量我们不要去改源码
  • 可将webpack-cli删除,因webpack3x版本不依赖与webpack-cli,可手动配置信息,webpack4x很多内部已经配置完成,依赖的是webpack-cli   //该方法还需进一步测试,不确定是否是该问题
  • 可将全局安装的webpack版本4.41.2删除,再次全局安装3.6.0版本即可  // 因项目不同,webpack的版本也会不同,全局安装webpack不是好的推荐方法,大家在做一些Demo中可使用,不推荐项目中使用
  • 前端框架安装vue,react,angular时都会自动安装webpack,比如vuecli2使用的事webpack3x,vuecli3使用的是webpack4,大家可以根据自己选择的框架进行选择webpack版本   // 推荐
const statsPresetToOptions = require("webpack").Stats.presetToOptions;
                                                                             ^

TypeError: Cannot read property ‘presetToOptions‘ of undefined
    at processOptions (D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js:137:57)
    at D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js:364:3
    at Object.parse (D:\web\Demo\webpack-demo\node_modules\yargs\yargs.js:567:18)
    at D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js:49:8
    at Object.<anonymous> (D:\web\Demo\webpack-demo\node_modules\webpack-cli\bin\cli.js:366:3)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Module.require (internal/modules/cjs/loader.js:849:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at module.exports (C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\import-local\index.js:16:66)
    at C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack-cli\bin\cli.js:15:6
    at Object.<anonymous> (C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack-cli\bin\cli.js:366:3)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Module.require (internal/modules/cjs/loader.js:849:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js:156:2)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
    at internal/main/run_main_module.js:17:11

  

3.操作步骤:npm uninstall -g webpack 卸载全局webpack

解决办法:全局安装npm install -g webpack

问题总结:webpack不推荐全局安装,可在项目中本地安装

internal/modules/cjs/loader.js:797
    throw err;
    ^

Error: Cannot find module ‘C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js‘
?[90m    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)?[39m
?[90m    at Function.Module._load (internal/modules/cjs/loader.js:687:27)?[39m
?[90m    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)?[39m
?[90m    at internal/main/run_main_module.js:17:11?[39m {
  code: ?[32m‘MODULE_NOT_FOUND‘?[39m,
  requireStack: []
}

  

原文地址:https://www.cnblogs.com/gqx-html/p/12028399.html

时间: 2024-07-31 22:52:04

webpack的一些坑的相关文章

webpack打包踩坑之TypeError: Cannot read property &#39;bindings&#39; of null

file loader介绍:https://www.webpackjs.com/loaders/file-loader/ babel loader介绍:https://webpack.js.org/loaders/babel-loader/ webpack-dev-server介绍:https://www.webpackjs.com/configuration/dev-server/  ,https://www.jianshu.com/p/73d74445e5c5 今日在学习百度前端学院的一个小

webpack遇见的坑:Please install &#39;webpack-cli&#39; in addition to webpack itself to use the CLI.

webpack-cli没被找到: 在webpack4.0之后,需要全局安装webpack-cli, 在全局安装webpack之后,cnpm i webpack-cli -g 在局部使用webpack时无需再安装了 webpack遇见的坑:Please install 'webpack-cli' in addition to webpack itself to use the CLI. 原文地址:https://www.cnblogs.com/jianxian/p/10624904.html

webpack安装填坑(&#39;webpack&#39; 不是内部或外部命令,也不是可运行的程序或批处理文件)

差不多每次安装软件都是一个波折的过程,这次webpack的安装也不例外,安装成功之后立马来记录解决错误的方法,以备不时之需 前提条件 webpack是依赖于node安装的,所以在安装前要确保自己是否安装了node.js,在命令行运行node -v如果情况如下就是安装了node.js,如果没有安装请参考node.js的安装步骤 注意:记得在安装的node目录下创建两个文件夹然后,配置npm路径 配置全局路径:npm config set prefix "d:\nodejs\node_global&

webpack初学踩坑记

注意事项: 1. webpack不用装在全局环境下,在哪个项目中使用,就安装在该项目下即可 1. 问题一:npm init 初始化一个项目后,添加webpack.config.js文件,在该项目中通过 npm install webpack --save-dev 将npm包安装到该项目下面, 然后在项目的根目录下执行  webpack命令 报下面的错误 原因:虽然项目中安装了webpack但是在项目的根目录下执行  webpack 执行的仍是全局的webpack  因为全局没有安装 webpac

webpack 4 入坑及爬坑记录

一.安装 在本机安装好nodejs的基础上,window操作系统,cmd打开控制台 npm init //初始化npm npm install webpack --save-dev 正常等待安装完成,安装完成可能会出现一些警告,嗯...警告,不管了... 然后新建项目,css,js,html文件一顿写,然后运行webpack,报错...提示安装webpack-cli,安装完成之后,一直反复,不能忍,查找网页找原因,最后据说是版本的原因,也就是使用webpack4+,需要安装CLI,我觉得是废话,

webpack升级踩坑

webpack3.8.1 => webpack4.39.2 1.error:webpack is not a function fix scripts/start.js const compiler = createCompiler(webpack, config, appName, urls, useYarn); => const compiler = createCompiler({ webpack, config, appName, urls, useYarn }); 2.error:

vue+webpack+sass 入坑 配置ES6 编译

Install 是不可少的事情 1 npm install --save-dev babel-core babel-preset-es2015 1 npm install --save-dev babel-loader 配置 .babelrc 1 { 2 "presets": ["es2015"] 3 } 详细可看npm

webpack 踩的坑

我是看着这篇博客学习的 http://www.jianshu.com/p/42e11515c10f# 看到loaders的时候,按照博主写法去试 结果报错....找了好久,上网查了好多 也看错误信息了.. 解决办法:最后还是碰对的...就是把下图 第11行test后面的值加上了引号...

webpack入坑之旅(一)不是开始的开始

最近学习框架,选择了vue,然后接触到了vue中的单文件组件,官方推荐使用 Webpack + vue-loader构建这些单文件 Vue 组件,于是就开始了webpack的入坑之旅.因为原来没有用过任何的构建工具与模块化工具,所以本系列会十分的基础.并且可能有很多不正确的地方,希望大家谅解,并指出错误帮助改进.谢谢! 这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webp