我第一次使用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 version:
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
我是否正在使用这个错误?我没有找到有关此功能的文档。
谢谢!
答案 0 :(得分:2)
而不是运行
ng g c bar -m foo
尝试运行(不使用-m)
ng g c foo/bar
如果你想引用一个应该导出/导入新组件的模块,你应该提供这个模块的相对路径,如:
ng g c bar -m foo/foo.module
在这种情况下, bar 组件将由 foo.module 导入/导出,但位于 src / app 下。
发生了EASDIR 错误,因为您提供了一个目录( foo )而不是文件( foo / foo.module )
作为示例回答here:
EISDIR意味着操作的目标实际上是一个目录,但目标的预期文件类型不是目录。