sb初始化并启动storybook无法解析新生成Angular 12库中的tsconfig路径,

bxpogfeg  于 6个月前  发布在  Angular
关注(0)|答案(7)|浏览(75)

描述错误

我有一个刚生成的Angular库(没有应用程序)。运行npx sb@next initstart-storybook会给我一个错误信息:

ERR! => Could not get angular cli webpack config
ERR! TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined

系统

Windows 10
Node v14.16.1
@storybook/angular v6.4.0-alpha.18

可能的原因

看起来sb initstart-storybook无法正确解析tsconfig的路径。事实上,在sb init文件之后,.storybook/tsconfig.json包含代码

"extends": "../false",

这看起来不像是一个正确的路径。
我认为原因是生成的angular.json结构,它在architect.build.options下没有tsConfig,只有architect.build.configurations.production
添加指向绿箭头的行可以解决这个问题:

v440hwme

v440hwme1#

已确认。这很有帮助。

qyswt5oh

qyswt5oh2#

你是如何创建Angular项目的?我无法在一个新的angular-cli项目中复现。

ldioqlga

ldioqlga3#

抱歉,由于缺乏复制信息,无法立即复制。
环境:Windows 10 20H2,节点v14.16.1,npm 7.11.2
在一个空文件夹中:

npm init
npm i @angular/cli@12.1.2
  • 需要重启终端才能使用ng命令*
ng new storybook-angular-test --create-application=false
cd storybook-angular-test
ng generate library storybook-lib
npx sb@6.4.0-alpha.22 init

文件storybook-angular-test/.storybook/tsconfig.json现在包含

{
  "extends": "../false",
  ...
}
6psbrbz9

6psbrbz94#

确认了一次全新的安装。以下是复现和解决步骤。

版本信息

Angular CLI: 12.1.3
Node: 14.17.0
Package Manager: npm 7.17.0
OS: darwin x64

Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1201.3 (cli-only)
@angular-devkit/core         12.1.3 (cli-only)
@angular-devkit/schematics   12.1.3 (cli-only)
@schematics/angular          12.1.3 (cli-only)

复现步骤

1. Angular设置

ng new storybook-angular-v12-library-issue-repro --create-application=false
cd storybook-angular-v12-library-issue-repro
ng generate library repro-lib --prefix repro
# test build
npm run build
# success

2. Storybook设置

npx sb@next init

3. 运行Storybook

npm run storybook

结果:

...
info => Using angular project "repro-lib:build" for configuring Storybook
ERR! => Could not get angular cli webpack config
ERR! TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
...

4. 解决错误:问题15635

angular.jsonprojects.repro-lib.architect.build

...
  "options": {
    "project": "projects/repro-lib/ng-package.json",
+   "tsConfig": "projects/repro-lib/tsconfig.lib.json"
  },
  ...

.storybook/tsconfig.json

- "extends": "../false",
+ "extends": "../projects/repro-lib/tsconfig.lib.json",

成功!

p5fdfcr1

p5fdfcr15#

@apocalyp0sys@w-p你能检查一下这是否仍然是一个存在于storybook beta版本中的问题吗?

qrjkbowd

qrjkbowd6#

尝试使用版本@angular/cli@13.3.10storybook@7.0.0-beta.29
文件.storybook/tsconfig.json仍然包含"extends": "../false",行。
此外,storybook现在运行没有错误,但无法显示带有消息Cannot GET /iframe.html的主视图。

pw136qt2

pw136qt27#

很高兴知道这个,我会在这里@storybookjs/angular团队,希望有人能理解发生了什么/出了什么问题。

相关问题