Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

express-tsx

Package Overview
Dependencies
Maintainers
1
Versions
103
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-tsx - npm Package Compare versions

Comparing version 4.2.6 to 4.2.7

59

CHANGELOG.md
# Change Log
## [next]
- 动态更新和 redux 结合达到动态更新界面
- 动态更新: 配合`redux`达到不损失状态得更新界面
## [4.2.x@beta]
## [4.2.6]
- 不再强制使用 `?callback=define` 获取初始化数据 , 转而提供一个 `?props` 路径以供获取数据
- 动态更新模块达成 . 需要通过 app.locals.hotreload = true 来开启
- 以上均在 `[example/index.js](./example/index.js)` 中有更新
- 以上均在 [`example/index.js`](./example/index.js) 中有更新

@@ -18,53 +18,2 @@ ## [4.1.0]

- 重写了`Compile`, 移除了`chokidar`依赖 , 文件监听更加具有针对性了
- 修复了各种`linux`上的bug
## [3.1.23] - 2017-6-25
### fixed
- `express` 会合并路径 `//` --> `/` , 这样在某些情况会丢失路径信息 .
这个导致在 `heroku` 上部署时找不到文件 , 因为`heroku`的根路径是`/`开头的 .
典型的像这个 `youapp.herokuapp.com/express-tsx//app/**` 的源文件路径被解析为 `app/**`, 丢失了根路径导致文件找不到
采取的解决方法是自己解析原路径.
## [3.1.20] - 2017-6-24
### update
- 只在开发环境开启 `chokidar` 文件更新监听
## [3.1.19] - 2017-6-23
### fixed bug
- `bug` : 标准化路径时如果没有盘符时会把整个路径都小写
## [3.1.18] - 2017-6-23
### fixed bug
- `bug` : 获取文件依赖时:两个文件互相引用会出现内存溢出
- `typescript` 版本回退
## [3.1.17] - 2017-6-21
### change
- `fileVersion` 现在使用 `hash` 值表示一致
- `typescript` 版本回退
## [3.1.15] - 2017-6-15
### fixed
- relativePath 取的根路径 `req.app.path()` 有问题 , 更改为 新增变量`req.expressTsxRoot`
## [3.1.1] - 2017-6-13
### add
- 添加 `sourceMap` 支持
## [3.1.0] - 2017-6-11
### optimization
- 添加 glomarous(css in js) 到默认配置中 , 现在可以尝试使用该组件进行模块式开发了
## [2.2.5] - 2017-5-7
### fixed
- ssrWrap 使用了'/'定位到输出文件夹路径, 导致require不能正常解析模块路径
## [2.1.4] - 2017-4-27
### update
- 导出 React 到全局声明
## [2.1.0] - 2017-4-23
### changed
- 优化了 tsx 文件编译函数 , 加入了缓存 .
- 修复了各种`linux`上的bug

2

package.json
{
"name": "express-tsx",
"version": "4.2.6",
"version": "4.2.7",
"description": "express view engine to render tsx file",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

# 介绍
tsx 文件的 express 的视图引擎 .
<del>警告 : 不能用于生产环境 , 没有打包, 使用的是直接加载模块文件</del>
<del>警告 : 不要用于生产环境 , 没有打包, 使用的是直接加载模块文件</del>

@@ -11,2 +11,12 @@ # 安装

# 特点
- 有`sourcemap`支持, 可以轻松`debug`. 虽说默认是关闭的
- 支持热更新, 虽说是默认关闭
- `js`文件路径都带有`hash`值, 可以告别`ctrl`+`f5`了
- 编译器是完全独立的, 只依赖 typescript.
- 编译器静态服务中间件只输出视图文件及其引用的文件, 不被引用的文件直接返回404, 所以你的文件是安全的
- 可定制程度高, 不行看 [`render.ts`](./src/render/render.ts) 就知道到底有多高了
- 虽然默认只支持`react`, 但可轻松扩展使其支持`Angular`. <del>并没有试过, 只是理论上应该可以的, 等人踩坑中</del>
- 使用`requirejs`模块加载器, 配置模块的话,要使用`require('express-tsx').requirejsConfig(config)`函数, 可看示例 [example/requirejs.config.js](./example/requirejs.config.js)
# 使用示例

@@ -49,23 +59,2 @@ [主文件](./example/index.js)

# 示例运行
- 克隆本项目
```shell
git clone https://github.com/shynome/express-tsx.git
```
- 安装依赖 ; 进入示例目录 ; 运行
```shell
npm install ; node example
```
- 在浏览器中打开 [示例:http://127.0.0.1:9000/](http://127.0.0.1:9000/)
一切正常的话会看到 : `hello world`
# 实现流程
* 使用[`require('express-tsx').middleware`](./src/render/middleware.ts)中间件用来注入要使用的数据
* `express` 中指定要渲染的文件 , `app.use('/path',(req,res)=>res.render(file))`
* 使用 `typescript` 将该文件及其引用的文件进行编译
* 调用用 `render` 函数 返回用来渲染界面的`html`文件
* 通过[`require('express-tsx').middleware`](./src/render/middleware.ts)返回编译成`es5`的`js`文件
* 浏览器通过 [`browser.int.ts`](./static/browser.init.ts) 渲染界面
***********

@@ -87,3 +87,2 @@ declare var requirejs:any

let module:string[] = JSON.parse(data)
this.updateModule(this.entry)
module.forEach(this.updateModule)

@@ -90,0 +89,0 @@ if(App.dev){

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc