GVKun编程网logo

“未定义窗口中的错误” webpack webpack上的一般错误--mode = production --env.prod

14

此处将为大家介绍关于“未定义窗口中的错误”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

“未定义窗口中的错误” 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'' 错误解决

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 踩的坑~

Error: Cannot find module ''webpack/bin/config-yargs'' 报错原因,webpack@4.X 踩的坑~

1 、使用 webpack@4.32.2 时, 当我通过 package.jsonscript 去执行 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 踩的坑~

Error: Cannot find module ‘webpack/bin/config-yargs‘ 报错原因,webpack@4.X 踩的坑~

1 、使用 webpack@4.32.2 时, 当我通过 package.jsonscript 去执行 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

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

 

  我的安装完后如下: 

 

 

node.js – Gulp Webpack或JUST Webpack?

node.js – Gulp Webpack或JUST Webpack?

我看到人们使用gulp与webpack。但后来我读过webpack可以替换gulp吗?我完全困惑在这里…有人可以解释?

解决方法

这个答案可能有帮助。 Task Runners (Gulp,Grunt,etc) and Bundlers (Webpack,Browserify). Why use together?

…下面是一个在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?的相关信息,请在本站查询。

本文标签: