From c3bb97fb877459c02896ad7e06679f82b64ffa54 Mon Sep 17 00:00:00 2001 From: imeepos <1037483576@qq.com> Date: Sat, 4 May 2019 19:08:54 +0800 Subject: [PATCH] settings.json --- .vscode/settings.json | 8 +++++ .../nger-demo/template/app/welcome/index.tsx | 6 ++-- packages/nger-compiler/lib/ts/babel.ts | 23 +++++++------- .../nger-platform-browser/lib/application.tsx | 31 +++++++++++++++++-- packages/nger-webpack/lib/manager.ts | 4 --- readme.md | 3 +- tsconfig.json | 3 +- 7 files changed, 55 insertions(+), 23 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..12f3930 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "files.watcherExclude": { + "**/dist/**": true, + "**/node_modules/**": true, + "**/attachment/**": true, + "**/.temp/**": true, + } +} \ No newline at end of file diff --git a/addon/nger-demo/template/app/welcome/index.tsx b/addon/nger-demo/template/app/welcome/index.tsx index b723b1a..8af9b9d 100644 --- a/addon/nger-demo/template/app/welcome/index.tsx +++ b/addon/nger-demo/template/app/welcome/index.tsx @@ -7,7 +7,9 @@ import { View } from 'nger-ui'; ] }) export class NgerDemoAppWelcomePage { - render() { - return + render(h: any) { + return +
+
} } diff --git a/packages/nger-compiler/lib/ts/babel.ts b/packages/nger-compiler/lib/ts/babel.ts index 3134059..6058ab4 100644 --- a/packages/nger-compiler/lib/ts/babel.ts +++ b/packages/nger-compiler/lib/ts/babel.ts @@ -26,17 +26,16 @@ export class NgerCompilerBabel { return code; } compile(from: string, config: ts.TranspileOptions = {}) { - // 如果已经处理过了则忽略 - // 拿到文件内容 - let code = this.getFileContent(from, config); - // 解析 - const ast = parse(code, { - sourceType: 'module', - plugins:['estree'] - }); - // 替换处理 - traverse(ast, this.visitor || {}); - code = generator(ast).code; - return code; + try{ + // 如果已经处理过了则忽略 + // 拿到文件内容 + let code = this.getFileContent(from, config); + // 解析 + const ast = parse(code, {}); + // 替换处理 + traverse(ast, this.visitor || {}); + code = generator(ast).code; + return code; + }catch(e){} } } diff --git a/packages/nger-platform-browser/lib/application.tsx b/packages/nger-platform-browser/lib/application.tsx index 53d0bf9..b225b07 100644 --- a/packages/nger-platform-browser/lib/application.tsx +++ b/packages/nger-platform-browser/lib/application.tsx @@ -2,7 +2,34 @@ import { ApplicationRef, ComponentFactory, ComponentRef, ElementRef, ComponentFactoryResolver, ComponentMetadataKey } from 'nger-core' import { Injector, Type, InjectFlags } from 'nger-di' const { render, h } = require('preact'); -(window as any).h = h; +export function ngerRender(injector: Injector) { + return (vnode: any, parent: any, replaceNode?: any) => { + + } +} +export function ngerCreateElement(injector: Injector) { + return (tag: any, attr: any, ...children) => { + if (tag === 'string') { + return { + tag, + attr, + children, + injector + } + } else { + const resolver = injector.get(ComponentFactoryResolver) + const factory = resolver.resolveComponentFactory(tag) + const ref = factory.create(injector); + if (ref) { } + } + } +} +(window as any).h = (injector: Injector) => (tag, attr, ...children) => { + if (typeof tag === 'string') { + } else { + + } +}; export class BrowserApplicationRef extends ApplicationRef { root = document.getElementById('app') as HTMLDivElement; constructor(injector: Injector) { @@ -39,7 +66,7 @@ export class BrowserApplicationRef extends ApplicationRef { } } catch (e) { console.error({ - ref, + ref, injector, e }) diff --git a/packages/nger-webpack/lib/manager.ts b/packages/nger-webpack/lib/manager.ts index b1e93a2..565f169 100644 --- a/packages/nger-webpack/lib/manager.ts +++ b/packages/nger-webpack/lib/manager.ts @@ -37,10 +37,6 @@ export class NgerWebpackManager { console.log((message || err) + '\n') } } else { - if(stats.hasErrors()){ - const errors = stats.toJson().errors; - console.log(errors) - } this.logger.info(`系统构建成功${new Date().getTime() - this.startTime}ms`); } } diff --git a/readme.md b/readme.md index 4403746..2c7e281 100644 --- a/readme.md +++ b/readme.md @@ -59,8 +59,7 @@ nger start [-p 4200] - [ ] nger start 启动框架 - [ ] nger publish nger-demo 发布模块 -## 联系or资助 +## 合作洽谈-聊天交友-技术交流

-

diff --git a/tsconfig.json b/tsconfig.json index c21c7c9..58bf234 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -209,6 +209,7 @@ "node_modules", "platforms", "typings", - "**/*.aot.ts" + "**/*.aot.ts", + "node_modules/preact/dist/preact.d.ts" ] } \ No newline at end of file