webpack - TypeError:dep.getResourceIdentifier 不是函数
Posted
技术标签:
【中文标题】webpack - TypeError:dep.getResourceIdentifier 不是函数【英文标题】:webpack - TypeError: dep.getResourceIdentifier is not a function 【发布时间】:2018-08-14 02:54:04 【问题描述】:尝试使用laravel-mix 2.0.0
& webpack 4.1.0
在laravel 5.6.7
下混合
npm run dev
每次运行都会出现此错误.. 尝试了常见的解决方法,
deleted npm_modules folder
npm cache clean --force
npm install
还是一样..
cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
0% 编译 10% 构建模块 0/1 模块 1 活动 ...krish\node_modules\toastr\toastr.less 10% 建造模块 1/1 模块 0 活跃 10% 建造模块 2/2 模块 0 活跃 10% 构建模块 2/3 模块 1 个活跃 ...\www\krish\resources\assets\js\app.js 10% 构建模块 2/5 模块 3 个活动模块 ...\krish\resources\assets\sass\app.scss 10% 构建模块 3/6 个模块 3 个活动模块 ...sources\assets\less\adminlte-app.less 10% 构建模块 4/7 个模块 3 个活动模块 ...krish\node_modules\toastr\toastr.less 10% 构建模块 5/8 个模块 3 个活动模块 ...otstrap-less\bootstrap\bootstrap.less 10% 构建模块 6/8 个模块 2 个活动模块 ...sh\resources\assets\js\app-landing.js 10% 构建模块 6/9 模块 3 个活动模块 ...krish\node_modules\toastr\toastr.less 10% 构建模块 6/11 模块 5 个活动模块 ...\krish\resources\assets\sass\app.scss 10% 构建模块 6/12 模块 6 个活动模块 ...sources\assets\less\adminlte-app.less 10% 构建模块 6/13 个模块 7 个活跃的 ...modules\style-loader\lib\addStyles.js 10% 构建模块 7/13 模块 6 个活动 ...modules\style-loader\lib\addStyles.js 10% 构建模块 8/13 个模块 5 个活动模块 ...sources\assets\less\adminlte-app.less 10% 构建模块 8/14 个模块 6 个活动模块 ...de_modules\css-loader\lib\css-base.js 11% 构建模块 9/14 模块 5 个活动模块 ...de_modules\css-loader\lib\css-base.js 11% 构建模块 10/14 模块 4 个活动模块 ...de_modules\css-loader\lib\css-base.js 11% 构建模块 11/14 模块 3 个活动 ...sources\assets\less\adminlte-app.less 11% 构建模块 11/15 模块 4 个活跃的 ...node_modules\style-loader\lib\urls.js 11% 构建模块 11/16 模块 5 个活动模块 ...h\node_modules\vue\dist\vue.common.js 11% 构建模块 12/16 个模块 4 个活跃的 ...h\node_modules\vue\dist\vue.common.js 11% 构建模块 13/16 个模块 3 个活动模块 ...h\node_modules\vue\dist\vue.common.js 11% 构建模块 14/16 模块 2 个活动 ...sources\assets\less\adminlte-app.lessTypeError: dep.getResourceIdentifier is not a function
at addDependency (C:\wamp\www\krish\node_modules\webpack\lib\Compilation.js:387:30) at iterationOfArrayCallback (C:\wamp\www\krish\node_modules\webpack\lib\Compilation.js:78:3) at addDependenciesBlock (C:\wamp\www\krish\node_modules\webpack\lib\Compilation.js:407:5) at Compilation.processModuleDependencies (C:\wamp\www\krish\node_modules\webpack\lib\Compilation.js:418:4) at afterBuild (C:\wamp\www\krish\node_modules\webpack\lib\Compilation.js:545:16) at _this.buildModule.err (C:\wamp\www\krish\node_modules\webpack\lib\Compilation.js:591:11) at callback (C:\wamp\www\krish\node_modules\webpack\lib\Compilation.js:342:35) at module.build.error (C:\wamp\www\krish\node_modules\webpack\lib\Compilation.js:378:12) at handleParseResult (C:\wamp\www\krish\node_modules\webpack\lib\NormalModule.js:363:12) at doBuild.err (C:\wamp\www\krish\node_modules\webpack\lib\NormalModule.js:385:6) at runLoaders (C:\wamp\www\krish\node_modules\webpack\lib\NormalModule.js:264:12) at C:\wamp\www\krish\node_modules\loader-runner\lib\LoaderRunner.js:370:3 at iterateNormalLoaders (C:\wamp\www\krish\node_modules\loader-runner\lib\LoaderRunner.js:211:10) at Array.<anonymous> (C:\wamp\www\krish\node_modules\loader-runner\lib\LoaderRunner.js:202:4) at Storage.finished (C:\wamp\www\krish\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:43:16) at provider (C:\wamp\www\krish\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:79:9) at C:\wamp\www\krish\node_modules\graceful-fs\graceful-fs.js:78:16 at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:532:3)
npm 错误!代码生命周期 npm 错误!错误号 1 npm 错误! @开发:cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js npm 错误!退出状态 1 npm 错误! npm 错误! @开发脚本失败。 npm 错误!这可能不是 npm 的问题。上面可能还有额外的日志输出。
npm 错误!可以在以下位置找到此运行的完整日志: npm 错误! C:\Users\admin\AppData\Roaming\npm-cache_logs\2018-03-05T19_05_05_252Z-debug.log npm 错误!代码生命周期 npm 错误!错误号 1 npm 错误! @dev:npm 运行开发 npm 错误!退出状态 1 npm 错误! npm 错误! @dev 脚本失败。 npm 错误!这可能不是 npm 的问题。上面可能还有额外的日志输出。
npm 错误!可以在以下位置找到此运行的完整日志: npm 错误! C:\Users\admin\AppData\Roaming\npm-cache_logs\2018-03-05T19_05_05_702Z-debug.log
进程以退出代码 1 结束
Package.json
"private": true,
"scripts":
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"lint": "./node_modules/.bin/eslint --ext .js,.vue resources/assets/js"
,
"devDependencies":
"acacha-forms": "^1.0.0",
"admin-lte": "^2.4.2",
"axios": "^0.18.0",
"babel-eslint": "^8.2.2",
"babel-loader": "^7.1.3",
"babel-preset-es2015": "^6.22.0",
"bootstrap-less": "^3.3.8",
"bootstrap-sass": "^3.3.7",
"cross-env": "^5.1.3",
"eslint": "^4.18.2",
"eslint-config-standard": "^11.0.0",
"eslint-friendly-formatter": "^3.0.0",
"eslint-loader": "^2.0.0",
"eslint-plugin-html": "^4.0.2",
"eslint-plugin-promise": "^3.6.0",
"eslint-plugin-standard": "^3.0.0",
"font-awesome": "^4.7.0",
"icheck": "^1.0.2",
"ionicons": "^3.0.0",
"jquery": "^3.3.1",
"laravel-mix": "2.*",
"less": "^3.0.0",
"less-loader": "^4.0.6",
"lodash": "^4.17.5",
"node-sass": "^4.7.2",
"sass-loader": "^6.0.7",
"toastr": "^2.1.4",
"vue": "^2.5.13",
"vue-loader": "^14.0.0"
,
"dependencies":
"ajv": "^6.2.1",
"bootstrap": "^3.3.7",
"bootstrap-iconpicker": "^1.8.2",
"eslint-plugin-import": "^2.9.0",
"eslint-plugin-node": "^6.0.0",
"jquery-ui": "^1.12.1",
"jquery-ui-dist": "^1.12.1",
"jquery-ujs": "^1.2.2",
"select2": "^4.0.6-rc.1",
"vue-template-compiler": "^2.5.13",
"webpack": "^4.1.0",
"webpack-cli": "^2.0.10"
,
"babel":
"presets": [
"es2015"
]
更多细节。
Node.js:9.7.1
npm:5.7.1
网络包:4.1.0
操作系统:Win10 32bit
除了 bootstrap,所有的包都是最新的。
参考:There is no html-webpack-plugin as mentioned here..
【问题讨论】:
查看此链接github.com/JeffreyWay/laravel-mix/issues/1314 @krishankTripathi 这个问题和上面提到的问题有什么关系? 【参考方案1】:Laravel Mix 似乎还不兼容 Webpack 4。
我发现我们现在唯一能做的就是切换回 Webpack ^3.11.0
。 (通过更改 package.json 中的版本来做到这一点)。
这是一个关于这个问题的未解决问题:https://github.com/webpack/webpack/issues/6675
【讨论】:
现在是 2020 年,这仍然是个问题。无法测试 Vue 组件。以上是关于webpack - TypeError:dep.getResourceIdentifier 不是函数的主要内容,如果未能解决你的问题,请参考以下文章
webpack:TypeError:validateOptions 不是函数
TypeError: webpack.optimize.UglifyJsPlugin 不是构造函数
TypeError:webpack.ProvidePlugin 不是构造函数
webpack - TypeError:dep.getResourceIdentifier 不是函数
Webpack:TypeError:无法读取未定义的属性“属性”
从 webpack-cli 获取错误:webpack 配置中的“TypeError:merge is not a function”