首页 > 解决方案 > 将角电子与 Devextreme 相结合

问题描述

基本上,我试图将两个项目合二为一,但我在使用 webpack 时遇到了一些我不理解的错误。

我正在尝试将Angular-ElectronDevextreme Layout结合起来

我首先尝试按照安装所有必要的依赖项,但是每当我运行以下命令时:

npx -p devextreme-cli devextreme add devextreme-angular

它会抛出以下错误:

Cannot read property 'toString' of null

因此,我尝试通过运行以下命令在单独的存储库中创建 Devextreme 项目:

npx -p devextreme-cli devextreme new angular-app app-name

并且只是复制文件/文件夹,但现在尝试npm run start在 angular-electron 应用程序中运行时出现 webpack 错误

这是我得到的错误

angular-electron@10.0.0 start C:\Users\americo.perez\Downloads\Repos\angular-electron
> npm-run-all -p electron:serve ng:serve


> angular-electron@10.0.0 ng:serve C:\Users\americo.perez\Downloads\Repos\angular-electron
> ng serve -c web -o


> angular-electron@10.0.0 electron:serve C:\Users\americo.perez\Downloads\Repos\angular-electron
> wait-on tcp:4200 && npm run electron:serve-tsc && npx electron . --serve

⠼ Generating browser application bundles (phase: building)...
> angular-electron@10.0.0 electron:serve-tsc C:\Users\americo.perez\Downloads\Repos\angular-electron
> tsc -p tsconfig.serve.json

⠦ Generating browser application bundles (phase: building)...
✔ Browser application bundle generation complete.
× 「wdm」: HookWebpackError: ENOENT: no such file or directory, scandir
    at makeWebpackError (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\lib\HookWebpackError.js:49:9)
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\lib\Compilation.js:2496:12
    at eval (eval at create (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:31:1) 
    at fn (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\lib\Compilation.js:427:17)
    at _next3 (eval at create (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:28:1)
    at eval (eval at create (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:46:1) 
    at fn (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\lib\Compilation.js:439:9)
    at _next2 (eval at create (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:41:1)
    at eval (eval at create (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:59:1) 
    at eval (eval at create (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:11:1) 
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\lib\SourceMapDevToolPlugin.js:546:10
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\neo-async\async.js:2830:7
    at Object.each (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\neo-async\async.js:2857:9)
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\lib\SourceMapDevToolPlugin.js:382:17
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\neo-async\async.js:2830:7
    at Object.each (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\neo-async\async.js:2857:9)
-- inner error --
Error: ENOENT: no such file or directory, scandir
    at Object.readdirSync (fs.js:1043:3)
    at CacheBackend.provideSync (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:233:32)
    at WebpackFileSystem.listPaths (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackFileSystem.js:78:24)
    at LicenseTextReader.readLicense (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\LicenseTextReader.js:37:54)
    at PluginChunkReadHandler.processModule (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\PluginChunkReadHandler.js:46:62)
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\PluginChunkReadHandler.js:22:23
    at WebpackModuleFileIterator.internalCallback (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackModuleFileIterator.js:25:13)
    at WebpackModuleFileIterator.iterateFiles (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackModuleFileIterator.js:10:9)
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\PluginChunkReadHandler.js:20:32
    at WebpackChunkModuleIterator.iterateModules (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackChunkModuleIterator.js:42:21)
    at PluginChunkReadHandler.processChunk (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\PluginChunkReadHandler.js:19:29)
    at _loop_1 (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackCompilerHandler.js:92:37)
    at WebpackCompilerHandler.iterateChunks (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackCompilerHandler.js:127:17)
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackCompilerHandler.js:43:31
    at fn (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\lib\Compilation.js:425:10)
    at _next3 (eval at create (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:28:1)
× 「wdm」: caused by plugins in Compilation.hooks.processAssets
Error: ENOENT: no such file or directory, scandir
    at Object.readdirSync (fs.js:1043:3)
    at CacheBackend.provideSync (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:233:32)
    at WebpackFileSystem.listPaths (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackFileSystem.js:78:24)
    at LicenseTextReader.readLicense (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\LicenseTextReader.js:37:54)
    at PluginChunkReadHandler.processModule (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\PluginChunkReadHandler.js:46:62)
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\PluginChunkReadHandler.js:22:23
    at WebpackModuleFileIterator.internalCallback (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackModuleFileIterator.js:25:13)
    at WebpackModuleFileIterator.iterateFiles (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackModuleFileIterator.js:10:9)
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\PluginChunkReadHandler.js:20:32
    at WebpackChunkModuleIterator.iterateModules (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackChunkModuleIterator.js:42:21)
    at PluginChunkReadHandler.processChunk (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\PluginChunkReadHandler.js:19:29)
    at _loop_1 (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackCompilerHandler.js:92:37)
    at WebpackCompilerHandler.iterateChunks (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackCompilerHandler.js:127:17)
    at C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\license-webpack-plugin\dist\WebpackCompilerHandler.js:43:31
    at fn (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\webpack\lib\Compilation.js:425:10)
    at _next3 (eval at create (C:\Users\americo.perez\Downloads\Repos\angular-electron\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:28:1)

对此的任何帮助将不胜感激。

标签: node.jsangularwebpackelectrondevextreme

解决方案


我设法弄清楚了。

基本上,我在没有电子的情况下从头开始创建了一个 devextreme 应用程序。然后我在事后向它添加了电子,并 npm run start根据 angular-electron 项目的 package.json 中的内容安装了运行命令所需的所有依赖项。

然后,我将 angular-electron 存储库中的 package.json 命令与 .vscode 文件夹中的调试文件结合使用,作为调试工作的指南。


推荐阅读