/scratch

scratch组件库

Primary LanguageJavaScript

增加的 npm 包:

{
  "@babel/plugin-proposal-class-properties": "^7.5.0",
  "clean-webpack-plugin": "^3.0.0",
  "friendly-errors-webpack-plugin": "^1.7.0",
  "gulp": "^4.0.2",
  "less": "^3.9.0",
  "less-loader": "^5.0.0",
  "mini-css-extract-plugin": "^0.7.0",
  "optimize-css-assets-webpack-plugin": "^5.0.3",
  "url-loader": "^2.0.1",
  "webpack-merge": "^4.2.1"
}

修改的文件:

  • containers/gui.jsx ReactModal.setAppElemen

  • container/library-item.jsx 更改 cdn 地址

  • containers/modal.jsx 去除 pushState

  • components/gui/gui.jsx 更改 menubar,去除教程

  • components/gui/gui.css

  • components/library-item/library-item.jsx 增加 title

  • components/monitor/list-monitor.jsx

  • components/monitor/monitor.css 修改样式

  • components/question/question.jsx

  • components/question/question.css 修改样式

  • components/spinner/spinner.css 修改样式

  • lib/default-project 修改默认项目(替换文件夹下的文件)

  • lib/libraries 增加素材

  • lib/libraries/decks/index.jsx 去除教程素材配置

  • lib/analytice.js 去除 react-ga

  • lib/app-state-hoc.jsx 将 store 暴露到全局

  • lib/hash-parser-hoc.jsx 去除 hash 部分

  • lib/project-fetcher-hoc.jsx 更改 cdn 地址

  • lib/storage.js 更改 cdn 地址

  • lib/vm-manager-hoc.jsx 增加加载缓存项目

打包注意事项:

  • 打包时会会把打包后的文件复制到开发环境,注意修改路径
  • 打包文件夹为 release
  • 打包后会删除 static 文件,文件太大了。web 端的项目手动复制过去,注意编辑器更新时可能有文件更新,需要再复制一次
  • 打包后修改 package.json 中的版本号
  • 提交到 msater 分支:npm run release

报错

1

错误内容:SyntaxError: Invalid or unexpected token

错误地址:scratch-blocks/scratch_msgs.js Blockly.ScratchMsgs.locales["ckb"]

解决:忽略这个类型的报错

可能缺少阿拉伯语言导致报错,或是爬虫导致的报错

2

错误内容:TypeError: Cannot read property 'length' of undefined

错误地址:scratch-vm/src/blocks/scratch3_looks.js 460 行 if (util.stackFrame.startedThreads.length === 0)

解决:增加容错处理

3

错误内容:Failed to execute 'getImageData'

错误地址:node_modules/scratch-render/src/SVGSkin.js getImageData

解决:升级版本后修复,待观察

change log

2019.11.27 更新 scratch