Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步网页包配置_Javascript_Node.js_Asynchronous_Webpack - Fatal编程技术网

Javascript 异步网页包配置

Javascript 异步网页包配置,javascript,node.js,asynchronous,webpack,Javascript,Node.js,Asynchronous,Webpack,我不能让它工作。请帮忙:) (该网页称可以处理承诺) 这项工作: var compiler=webpack(webpackConfig) 但有一个承诺,我会犯错误 我得到的错误是: C:\path\node\u modules\webpack\lib\webpack.js:19 抛出新的 WebPackageOptionValidationError(WebPackageOptionValidationErrors); ^ WebPackageOptions验证错误:配置对象无效。已使用与

我不能让它工作。请帮忙:)

(该网页称可以处理承诺)

这项工作:

var compiler=webpack(webpackConfig)

但有一个承诺,我会犯错误

我得到的错误是:

C:\path\node\u modules\webpack\lib\webpack.js:19
抛出新的
WebPackageOptionValidationError(WebPackageOptionValidationErrors);
^
WebPackageOptions验证错误:配置对象无效。已使用与API架构不匹配的配置对象初始化Web包。
-配置未命中属性“entry”。
对象{:非空字符串|[非空字符串]}非空字符串|[非空字符串]|函数
编译的入口点。
在webpack(C:\path\node\u modules\webpack\lib\webpack.js:19:9)
反对。(C:\path\build\dev server.js:27:16)
在模块处编译(Module.js:541:32)
在Object.Module._extensions..js(Module.js:550:10)
在Module.load(Module.js:458:32)
在tryModuleLoad时(module.js:417:12)
在Function.Module.\u加载(Module.js:409:3)
位于Module.runMain(Module.js:575:10)
运行时(bootstrap_node.js:352:7)
启动时(bootstrap_node.js:144:9)
在bootstrap_node.js:467:3
错误命令失败,退出代码为1。
信息访问https://yarnpkg.com/en/docs/cli/run 有关此命令的文档。

我做错了什么?

是webpack CLI处理Promise配置。如果您使用的是节点API,则需要自己处理

在您的示例中,这将是:

const configPromise = new Promise(function(resolve, reject) {
  setTimeout(() => { resolve(webpackConfig) }, 1000);
});

configPromise
  .then(webpack) // Passes the config to webpack
  .then(compiler => {
    // Do the work with the compiler
  });

这样做的目的是能够轻松地在配置中执行异步处理,而在最初使用节点API时,这个问题并不存在。

我认为文档意味着webpack CLI工具将允许从配置文件返回承诺。如果您使用的是API,那么在创建编译器之前自己解决这些问题就很简单了。
C:\path\node_modules\webpack\lib\webpack.js:19
                throw new 
WebpackOptionsValidationError(webpackOptionsValidationErrors);
                ^

WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration misses the property 'entry'.
   object { <key>: non-empty string | [non-empty string] } | non-empty string | [non-empty string] | function
   The entry point(s) of the compilation.
    at webpack (C:\path\node_modules\webpack\lib\webpack.js:19:9)
    at Object.<anonymous> (C:\path\build\dev-server.js:27:16)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.runMain (module.js:575:10)
    at run (bootstrap_node.js:352:7)
    at startup (bootstrap_node.js:144:9)
    at bootstrap_node.js:467:3
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
const configPromise = new Promise(function(resolve, reject) {
  setTimeout(() => { resolve(webpackConfig) }, 1000);
});

configPromise
  .then(webpack) // Passes the config to webpack
  .then(compiler => {
    // Do the work with the compiler
  });