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