ng cli 生成模块损坏的组件

ng cli generate component with module broken

我是第一次使用 ng cli。我正在尝试在 foo 模块下创建一个新模块 ('foo') 和一个新组件 ('bar')。不过,我认为我应该如何在 ng cli 中执行此操作似乎不起作用:

mbp:my-new-app chris$ ng g m foo
installing module
create src/app/foo/foo.module.ts

mbp:my-new-app chris$ ng g c bar -m foo
installing component
create src/app/bar/bar.component.scss
create src/app/bar/bar.component.html
create src/app/bar/bar.component.spec.ts
create src/app/bar/bar.component.ts

EISDIR: illegal operation on a directory, read
Error: EISDIR: illegal operation on a directory, read
at Error (native)
at Object.fs.readSync (fs.js:732:19)
at tryReadSync (fs.js:487:20)
at Object.fs.readFileSync (fs.js:535:19)
at Class.afterInstall (/Users/chris/code/my-new-app/node_modules/@angular/cli/blueprints/component/index.js:209:34)
at tryCatch (/Users/chris/code/my-new-app/node_modules/rsvp/dist/rsvp.js:539:12)
at invokeCallback (/Users/chris/code/my-new-app/node_modules/rsvp/dist/rsvp.js:554:13)
at publish (/Users/chris/code/my-new-app/node_modules/rsvp/dist/rsvp.js:522:7)
at flush (/Users/chris/code/my-new-app/node_modules/rsvp/dist/rsvp.js:2414:5)
at _combinedTickCallback (internal/process/next_tick.js:73:7)

ng cli 版本:

mbp:my-new-app chris$ ng version
    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/
@angular/cli: 1.0.0
node: 6.10.1
os: darwin x64
@angular/common: 4.0.1
@angular/compiler: 4.0.1
@angular/core: 4.0.1
@angular/forms: 4.0.1
@angular/http: 4.0.1
@angular/platform-browser: 4.0.1
@angular/platform-browser-dynamic: 4.0.1
@angular/router: 4.0.1
@angular/cli: 1.0.0
@angular/compiler-cli: 4.0.1

我是不是用错了?我还没有找到专门针对此功能的文档。

谢谢!

代替运行宁

ng g c bar -m foo

尝试 运行(不带 -m)

ng g c foo/bar

如果你想引用一个模块,它应该 export/import 你的新组件,你应该提供一个到这个模块的相对路径,比如:

ng g c bar -m foo/foo.module

在这种情况下,bar 组件将由 foo.module imported/exported,但位于 src/app.

EASDIR 错误发生是因为您提供了目录 (foo) 而不是文件 (foo/foo .module)

例如回答here

EISDIR means that the target of the operation is a directory in reality but that the expected filetype of the target is something other than a directory.