问题:
如何获取文件路径列表Array<string>
:
// ['apps/morningharwood/src/app/app.component.ts',
// 'apps/morningharwood/src/app/app-shell/app-shell.component.ts']
ref.SomeStaticMethod()
对于每条路径,在节点中调用它们的静态方法?
注意:我正在为节点(如果重要的话)和 windows 10 使用打字稿。
async function prePublish() {
const componentPaths = await globby('apps/morningharwood/src/app/**/*.component.ts');
const dirPaths = componentPaths.map(i => `./${i.split('.ts')[ 0 ]}`);
console.log(dirPaths);
/**
* Logs out this
* [ './apps/morningharwood/src/app/app.component',
* './apps/morningharwood/src/app/app-shell/app-shell.component' ]
*/
const ref = await import('./apps/morningharwood/src/app/app.component');
const ref2 = await import('./apps/morningharwood/src/app/app-shell/app-shell.component');
console.log(ref, ref2); // WORKS AS INTENDED
for (const dp of dirPaths) {
console.log(dp); // ./apps/morningharwood/src/app/app.component
const ref3 = await import(dp); // ERROR?
console.log(ref); // Never runs.
}
}
prepublish();
完整的错误堆栈跟踪:
./apps/morningharwood/src/app/app.component
Unhandled Promise rejection: Cannot find module './apps/morningharwood/src/app/app.component' ; Zone: <root> ; Task: Promise.then ; Value: { Error: Cannot find module './apps/morningharwood/src/app/app.component'
at webpackEmptyContext (webpack:///._sync?:2:10)
at eval (webpack:///./prerender.ts?:126:126)
at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:387:26)
at Zone.run (webpack:///./node_modules/zone.js/dist/zone-node.js?:137:43)
at eval (webpack:///./node_modules/zone.js/dist/zone-node.js?:871:34)
at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:420:31)
at Zone.runTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:187:47)
at drainMicroTaskQueue (webpack:///./node_modules/zone.js/dist/zone-node.js?:594:35)
at ZoneTask.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:499:21)
at ZoneTask.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:484:48) code: 'MODULE_NOT_FOUND' } Error: Cannot find module './apps/morningharwood/src/app/app.component'
at webpackEmptyContext (webpack:///._sync?:2:10)
at eval (webpack:///./prerender.ts?:126:126)
at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:387:26)
at Zone.run (webpack:///./node_modules/zone.js/dist/zone-node.js?:137:43)
at eval (webpack:///./node_modules/zone.js/dist/zone-node.js?:871:34)
at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:420:31)
at Zone.runTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:187:47)
at drainMicroTaskQueue (webpack:///./node_modules/zone.js/dist/zone-node.js?:594:35)
at ZoneTask.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:499:21)
at ZoneTask.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:484:48)