此处将为大家介绍关于“未定义窗口中的错误”webpackwebpack上的一般错误--mode=production--env.prod的详细内容,此外,我们还将为您介绍关于Error:Cannotf
此处将为大家介绍关于“未定义窗口中的错误” webpack webpack上的一般错误--mode = production --env.prod的详细内容,此外,我们还将为您介绍关于Error: Cannot find module ''webpack'' 错误解决、Error: Cannot find module ''webpack/bin/config-yargs'' 报错原因,webpack@4.X 踩的坑~、Error: Cannot find module ‘webpack/bin/config-yargs‘ 报错原因,webpack@4.X 踩的坑~、node.js – Gulp Webpack或JUST Webpack?的有用信息。
本文目录一览:- “未定义窗口中的错误” webpack webpack上的一般错误--mode = production --env.prod
- Error: Cannot find module ''webpack'' 错误解决
- Error: Cannot find module ''webpack/bin/config-yargs'' 报错原因,webpack@4.X 踩的坑~
- Error: Cannot find module ‘webpack/bin/config-yargs‘ 报错原因,webpack@4.X 踩的坑~
- node.js – Gulp Webpack或JUST Webpack?
“未定义窗口中的错误” webpack webpack上的一般错误--mode = production --env.prod
我正在尝试部署我的第一个有角度的应用程序,但是在执行部署过程中,在命令中间:
node node_modules/webpack/bin/webpack.js --mode=production --env.prod
(又名webpack --mode=production --config webpack.config.js --env.prod
)
我收到一个一般性错误,该错误不会为我提供以下信息:
Hash: 7b126cdcbdda85d6b0f304152e501136ec85ed58Version: webpack 4.6.0Child Hash: 7b126cdcbdda85d6b0f3 Time: 13298ms Built at: 2018-04-23 12:27:51 1 asset Entrypoint main-client = main-client.js ERROR in window is not definedChild Hash: 04152e501136ec85ed58 Time: 13281ms Built at: 2018-04-23 12:27:51 1 asset Entrypoint main-server = main-server.js ERROR in window is not defined
主服务器和主客户端都是webpack生成的文件,在我的代码中“窗口”的唯一用法是执行window.history.back()
命令,但即使对其进行注释,仍然会出现错误。
有人知道如何解决吗?
我的webpack版本是4.6.0 我的webpack.config.js内容如下:
||
===> 更新 -不必要的webpack.config.js内容与问题本身无关
答案1
小编典典这可能是原因,因为您window
直接在代码中的某处引用。这不是最佳实践!有时,(服务器端)未定义窗口对象并导致此问题。如果第三方库使用该库,则相同。
因此,请首先检查您的代码,找到直接在其中使用window的位置,然后将PLATFORMID包裹在该示例中:
import { PLATFORM_ID } from ''@angular/core''; import { isPlatformBrowser, isPlatformServer } from ''@angular/common''; constructor(@Inject(PLATFORM_ID) private platformId: Object) { ... } ngOnInit() { if (isPlatformBrowser(this.platformId)) { // Client only code. ... } if (isPlatformServer(this.platformId)) { // Server only code. ... } }
或者,如果找不到,则可能是库仍在使用它。在github上检查此问题,它将比我更好地解释问题:
https://github.com/webpack/react-
starter/issues/37
希望这对您有帮助=)
PS:当我必须实现服务器端渲染时,同样的问题。我window
在代码中使用了“
随处可见”。从那一刻起,当我不得不使用它时,我总是会找到另一种方法来做同样的事情。
您也可以尝试将target: "web"
webpack.config.js 放入其中
提出问题的人的编辑
另请参见github上的此问题,它提供了此问题的解决方案:https
:
//github.com/webpack/webpack/issues/7112
Error: Cannot find module ''webpack'' 错误解决
$ npm install webpack -g
$ npm install webpack-cli -g
全局安装webpack
$ npm run dev
Error: Cannot find module ''webpack''
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
at Function.Module._load (internal/modules/cjs/loader.js:506:25)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (E:\webpack\node_modules\v8-compile-cache\v8-compile-cache.js:159:20)
at Object.<anonymous> (E:\webpack\node_modules\webpack-cli\bin\convert-argv.js:7:24)
at Module._compile (E:\webpack\node_modules\v8-compile-cache\v8-compile-cache.js:178:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
at yargs.parse (E:\webpack\node_modules\webpack-cli\bin\cli.js:241:14)
at Object.parse (E:\webpack\node_modules\yargs\yargs.js:567:18)
at E:\webpack\node_modules\webpack-cli\bin\cli.js:219:8
at Object.<anonymous> (E:\webpack\node_modules\webpack-cli\bin\cli.js:538:3)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
at module.exports.filename (C:\Users\jinru\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\import-local\index.js:16:66)
at C:\Users\jinru\AppData\Roaming\npm\node_modules\webpack-cli\bin\cli.js:13:6
at Object.<anonymous> (C:\Users\jinru\AppData\Roaming\npm\node_modules\webpack-cli\bin\cli.js:538:3)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
解决方法
$ npm link webpack
---------------------
Error: Cannot find module ''webpack/bin/config-yargs'' 报错原因,webpack@4.X 踩的坑~
1 、使用 webpack@4.32.2 时, 当我通过 package.json
的 script
去执行 webpack-dev-server 时,报以下错误:
Error: Cannot find module ''webpack/bin/config-yargs''
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
......
原因: 这个就是目前版本的 webpack-dev-server@2.11.5 不支持 webpack@4.32.2
解决:重装一个 webpack-dev-server 是 3.0 版本以上就兼容 :
npm i webpack-dev-server@3.3.2 -D
此时,就可以了... 如果还报错,参照最后一条!
2、webpack4.0 以上都要安装 webpack-cli , 否则报错如下:
Error: Cannot find module ''webpack-cli/bin/config-yargs''
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
这时,需要安装 webpack-cli :
npm i webpack-cli -D
3、 这样安装完后可能还会报错,此时就需要卸载掉所有的 webpack webpack-cli webpack-dev-server
重新一起安装,一定记住,一起同时安装!!
npm i webpack webpack-cli webpack-dev-server -D
我的安装完后如下:
Error: Cannot find module ‘webpack/bin/config-yargs‘ 报错原因,webpack@4.X 踩的坑~
1 、使用 webpack@4.32.2 时, 当我通过 package.json
的 script
去执行 webpack-dev-server 时,报以下错误:
Error: Cannot find module ''webpack/bin/config-yargs''
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
......
原因: 这个就是目前版本的 webpack-dev-server@2.11.5 不支持 webpack@4.32.2
解决:重装一个 webpack-dev-server 是 3.0 版本以上就兼容 :
1 |
|
此时,就可以了... 如果还报错,参照最后一条!
2、webpack4.0 以上都要安装 webpack-cli , 否则报错如下:
Error: Cannot find module ''webpack-cli/bin/config-yargs''
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
这时,需要安装 webpack-cli :
npm i webpack-cli -D
3、 这样安装完后可能还会报错,此时就需要卸载掉所有的 webpack webpack-cli webpack-dev-server
重新一起安装,一定记住,一起同时安装!!
npm i webpack webpack-cli webpack-dev-server -D
我的安装完后如下:
node.js – Gulp Webpack或JUST Webpack?
解决方法
…下面是一个在gulp任务中使用webpack的例子。这进一步,假设你的webpack配置是写在es6。
var gulp = require('gulp'); var webpack = require('webpack'); var gutil = require('gutil'); var babel = require('babel/register'); var config = require(path.join('../..','webpack.config.es6.js')); gulp.task('webpack-es6-test',function(done){ webpack(config).run(onBuild(done)); }); function onBuild(done) { return function(err,stats) { if (err) { gutil.log('Error',err); if (done) { done(); } } else { Object.keys(stats.compilation.assets).forEach(function(key) { gutil.log('Webpack: output ',gutil.colors.green(key)); }); gutil.log('Webpack: ',gutil.colors.blue('finished ',stats.compilation.name)); if (done) { done(); } } } }
我想你会发现,随着你的应用程序变得更复杂,你可能想使用gulp与webpack任务如上面的例子。这允许你在你的构建中做一些更有趣的事情,webpack加载器和插件真的不做,即。创建输出目录,启动服务器等。简而言之,webpack实际上可以做这些事情,但是您可能发现它们限制了您的长期需求。您从gulp获得的最大的优势之一 – > webpack是你可以自定义webpack配置为不同的环境和gulp做正确的任务在正确的时间。它真的由你决定,但从gulp运行webpack没有什么错,实际上有一些漂亮的interesting例子如何做。上面的例子基本上是从jlongster。
我们今天的关于“未定义窗口中的错误” webpack webpack上的一般错误--mode = production --env.prod的分享已经告一段落,感谢您的关注,如果您想了解更多关于Error: Cannot find module ''webpack'' 错误解决、Error: Cannot find module ''webpack/bin/config-yargs'' 报错原因,webpack@4.X 踩的坑~、Error: Cannot find module ‘webpack/bin/config-yargs‘ 报错原因,webpack@4.X 踩的坑~、node.js – Gulp Webpack或JUST Webpack?的相关信息,请在本站查询。
本文标签: