Superset 0.22.0开发中修改JSX代码不生效及构建流程咨询
搞定Superset 0.22.0 JSX修改不生效问题+高效开发流程
嘿,针对你遇到的问题,我来给你拆解清楚,顺便分享下更高效的前端开发姿势:
为什么你的修改没生效?
Superset 0.22.0的前端代码是需要预编译打包的——superset/assets/javascript下的源码不会直接被服务端加载,页面实际用的是编译后的静态资源文件。你改了源码但没执行构建,浏览器加载的还是旧的打包文件,所以刷新甚至重启runserver都看不到变化,这不奇怪~
让修改快速生效的单次操作
如果只是临时改个地方测试,按下面步骤来:
- 先切到前端资源目录:
cd $SUPERSET_HOME/superset/assets - 第一次操作的话先装依赖(后续依赖没更新就不用重复跑了):
npm install - 执行构建命令:
构建完直接刷新页面就行,不用重启superset服务,因为静态资源是直接读文件系统的。要是还没生效,试试强制刷新清缓存(Windows/Linux用npm run buildCtrl+Shift+R,Mac用Cmd+Shift+R)。
开发时省事儿的姿势:自动监听编译
每次改完都手动跑build太折腾,你可以开个watch模式,让工具自动盯着文件变化,实时帮你编译:
- 还是先切到前端目录:
cd $SUPERSET_HOME/superset/assets - 启动watch命令:
npm run watch - 保持这个终端窗口开着,之后你改任何
superset/assets/javascript下的JSX/JS文件,它都会自动重新编译,你只需要刷新页面就能看到最新效果,爽得很~
关于build和install的疑问解答
- npm install:只需要在第一次开发、或者前端依赖有更新(比如
package.json变了)的时候跑一次,不用每次修改都执行。 - npm run build:正式部署、或者需要生成生产环境用的静态资源时再跑;开发阶段完全用
npm run watch代替,自动实时编译,省得手动重复操作。
内容的提问来源于stack exchange,提问作者hYEOnOO null
相关产品推荐
相关产品推荐

