当前位置: 首页 > news >正文

桌面网站怎么做计算机学校全国排名

桌面网站怎么做,计算机学校全国排名,网站维护意义,开发直播平台夏促时候刚刚入坑#xff0c;写个笔记叭~ 环境配置 参考 HoPGoldy 大佬的简书#xff0c;先配置下开发环境 萌新去看大佬的详细教程#xff0c;我这里比较简单#xff0c;有前端基础的可以直接抄 VSCode 跳过 node 我配的是v18.18.2 换源 npm config set registry h…夏促时候刚刚入坑写个笔记叭~ 环境配置 参考 HoPGoldy 大佬的简书先配置下开发环境 萌新去看大佬的详细教程我这里比较简单有前端基础的可以直接抄 VSCode 跳过 node 我配的是v18.18.2 换源 npm config set registry https://registry.npmmirror.com安装依赖 npm install types/screeps types/lodash3.10.1 # 代码提示 npm install -D rollup # 代码构建工具 npm install rollup-plugin-clear rollup-plugin-screeps rollup-plugin-copy -D # 代码上传工具 npm install source-map0.6.1 # 异常信息映射 npm install -D rollup/plugin-node-resolve rollup/plugin-commonjs # 模块打包工具 # 下面的ts配不配就看心情了建议配一下 npm install --save-dev typescript rollup-plugin-typescript2 # ts编译根目录下创建代码构建工具的配置文件 rollup.config.js import clear from rollup-plugin-clear import screeps from rollup-plugin-screeps import copy from rollup-plugin-copy import resolve from rollup/plugin-node-resolve import commonjs from rollup/plugin-commonjslet config // 根据指定的目标获取对应的配置项 if (!process.env.DEST) {console.log(未指定目标, 代码将被编译但不会上传) } else if (!(config require(./.secret.json)[process.env.DEST])) {throw new Error(无效目标请检查 secret.json 中是否包含对应配置) }// 根据指定的配置决定是上传还是复制到文件夹 const pluginDeploy config config.copyPath ? // 复制到指定路径copy({targets: [{src: dist/main.js, dest: config.copyPath}, {src: dist/main.js.map,dest: config.copyPath,rename: name name .map.js,transform: contents module.exports ${contents.toString()};}], hook: writeBundle, verbose: true}) : // 更新 .map 到 .map.js 并上传screeps({config, dryRun: !config})export default {input: src/main.js, output: {file: dist/main.js, format: cjs, sourcemap: true}, plugins: [// 清除上次编译成果clear({targets: [dist]}), // 执行上传或者复制// 打包依赖resolve(),// 模块化依赖commonjs(),pluginDeploy] };package.json 配置 {name: sc,version: 1.0.0,description: ,main: rollup.config.js,scripts: {start: rollup -cw --environment DEST:main,local: rollup -cw --environment DEST:local,build: rollup -cw},repository: {type: git,url: http://xxxxxxxx:xxxx/Gettler/screeps.git},keywords: [],author: Gettler,license: ISC,devDependencies: {rollup/plugin-commonjs: ^14.0.0,rollup/plugin-node-resolve: ^8.4.0,types/lodash: ^3.10.1,types/node: ^14.0.24,types/screeps: ^3.3.8,rollup: ^2.22.1,rollup-plugin-clear: ^2.0.7,rollup-plugin-copy: ^3.3.0,rollup-plugin-screeps: ^1.0.1,rollup-plugin-typescript2: ^0.27.1,typescript: ^3.9.7},dependencies: {source-map: ^0.6.1} }项目根目录下配置 .secret.json 用于发布代码到游戏token地址https://screeps.com/a/#!/account/auth-tokens {main: {token: 你的token,protocol: https,hostname: screeps.com,port: 443,path: /,branch: default},local: {copyPath: 本地路径如C:\\Users\\Gettler\\AppData\\Local\\Screeps\\scripts\\screeps.com\\default} }main.js import {errorMapper} from ./modules/errorMapper;module.exports.loop errorMapper(() {// 代码在这里写即可console.log(Power!!!)} )errorMapper.js /*** 校正异常的堆栈信息** 由于 rollup 会打包所有代码到一个文件所以异常的调用栈定位和源码的位置是不同的* 本模块就是用来将异常的调用栈映射至源代码位置** see https://github.com/screepers/screeps-typescript-starter/blob/master/src/utils/ErrorMapper.ts*/import {SourceMapConsumer} from source-map// 缓存 SourceMap let consumer null// 第一次报错时创建 sourceMap const getConsumer function () {if (consumer null) consumer new SourceMapConsumer(require(main.js.map))return consumer }// 缓存映射关系以提高性能 const cache {}/*** 使用源映射生成堆栈跟踪并生成原始标志位* 警告 - global 重置之后的首次调用会产生很高的 cpu 消耗 ( 30 CPU)* 之后的每次调用会产生较低的 cpu 消耗 (~ 0.1 CPU / 次)** param {Error | string} error 错误或原始追踪栈* returns {string} 映射之后的源代码追踪栈*/ const sourceMappedStackTrace function (error) {const stack error instanceof Error ? error.stack : error// 有缓存直接用if (cache.hasOwnProperty(stack)) return cache[stack]const re /^\sat\s(.?\s)?\(?([0-z._\-\\\/]):(\d):(\d)\)?$/gmlet matchlet outStack error.toString()console.log(ErrorMapper - sourceMappedStackTrace - outStack, outStack)while ((match re.exec(stack))) {// 解析完成if (match[2] ! main) break// 获取追踪定位const pos getConsumer().originalPositionFor({column: parseInt(match[4], 10),line: parseInt(match[3], 10)})// 无法定位if (!pos.line) break// 解析追踪栈if (pos.name) outStack \n at ${pos.name} (${pos.source}:${pos.line}:${pos.column})else {// 源文件没找到对应文件名采用原始追踪名if (match[1]) outStack \n at ${match[1]} (${pos.source}:${pos.line}:${pos.column})// 源文件没找到对应文件名并且原始追踪栈里也没有直接省略else outStack \n at ${pos.source}:${pos.line}:${pos.column}}}cache[stack] outStackreturn outStack }/*** 错误追踪包装器* 用于把报错信息通过 source-map 解析成源代码的错误位置* 和原本 wrapLoop 的区别是wrapLoop 会返回一个新函数而这个会直接执行** param next 玩家代码*/ export const errorMapper function (next) {return () {try {// 执行玩家代码next()} catch (e) {if (e instanceof Error) {// 渲染报错调用栈沙盒模式用不了这个const errorMessage Game.rooms.sim ?沙盒模式无法使用 source-map - 显示原始追踪栈br${_.escape(e.stack)} :${_.escape(sourceMappedStackTrace(e))}console.log(text stylecolor:#ef9a9a${errorMessage}/text)}// 处理不了直接抛出else throw e}} }tsconfig.json {compilerOptions: {target: es2017,moduleResolution: Node,outDir: dist/,baseUrl: ./,sourceMap: true,allowSyntheticDefaultImports: true,paths: {/*: [./src/*]}},exclude: [node_modules],include: [src/**/*.ts] }至此环境配置完成如有问题欢迎评论区指正 我的项目结构已经写了一部分代码了 入门 新手先把官方教程的代码跑起来在这个基础上优化前期官方教程的代码也还够用一定要看懂教程代码再来往下看 对照着 挖采分离 这个是我第一个想要实现的因为我的矿可以让三个爬爬一起采如果三个以上就会有一个爬爬闲着等到有爬爬才玩矿运回去的时候才能有空间采矿如果多个一起运回去好像又会损失空间嗯。。。很浪费 实现挖采分离就可以有三个爬爬一直挖矿然后挖完矿扔到脚下让别的爬爬来捡回去 思路修改教程harvester代码去掉运送能量到建筑的代码去掉carry部件编写mover mover 的代码 if (creep.memory.role mover) {if ((creep.memory.moving ! undefined creep.memory.moving true) || creep.store.getFreeCapacity() 0 || (sources.length 0 creep.store.getUsedCapacity() 0)) {creep.say(I am moving!)creep.memory.moving truevar targets creep.room.find(FIND_STRUCTURES, { //找出需要补充能量的建筑filter: (structure) {return (structure.structureType STRUCTURE_EXTENSION || structure.structureType STRUCTURE_SPAWN || structure.structureType STRUCTURE_EXTENSION || structure.structureType STRUCTURE_TOWER) structure.store.getFreeCapacity(RESOURCE_ENERGY) 0;}});for (var tmp in Game.creeps) {var tmpCreep Game.creeps[tmp];if (tmpCreep.memory.role upgrader tmpCreep.store.getFreeCapacity() 0) {targets.push(tmpCreep)} else if (tmpCreep.memory.role builder tmpCreep.memory.building true) {targets.push(tmpCreep)}}if (targets.length 0) { // 需要维护的建筑数目 0var res creep.transfer(targets[creep.memory.idx % targets.length], RESOURCE_ENERGY)if (res ERR_NOT_IN_RANGE) {creep.moveTo(targets[creep.memory.idx % targets.length], {visualizePathStyle: {stroke: #ffffff}});} else if (res OK) {}}if (creep.store.getUsedCapacity() 0) {creep.memory.moving false}} else if (creep.store.getFreeCapacity() 0) {creep.say(I am carrying!)creep.memory.moving falselet res creep.pickup(sources[creep.memory.idx % sources.length])if (res ERR_NOT_IN_RANGE) {creep.moveTo(sources[creep.memory.idx % sources.length], {visualizePathStyle: {stroke: #ffaa00}});} else {}} }
http://www.hkea.cn/news/14468985/

相关文章:

  • 怎麽做网站线上推广渠道
  • 建材营销型的网站中铁建设集团有限公司总部在哪
  • 深圳app网站设计模版 网站需要多少钱
  • 网站建设网站建设教程那些网站可以接私活做
  • 网站关键词排名seo进销存系统
  • 帝国网站模版网站建设静态部分总结
  • 收录网站工具做教育网站有什么好处
  • 网站建设与管理初级教学东莞网络营销型网站
  • 国外网站入口vs做网站怎样加数据库
  • 百度搜索不到自己的网站大连省建设厅网站
  • 网站没续费会怎样打开浏览器直接进入网站
  • 做百度联盟用什么做网站紧急通知网页升级记住我们
  • 网站开发语言总结抄袭网站违法
  • 互联网大赛建设网站策划书网站制度建设模板
  • 长兴县住房建设局网站wordpress个人主页插件
  • 自己建的网站有乱码陕西省建设八大员官方网站
  • 婚纱设计网站首页网站开发技术主题
  • 海外短视频平台网站一级造价工程师含金量
  • 公司做网站建设价格月夜直播下载
  • 建立一个公司自己的网站怎么注册公司微信
  • 阿里云 iis 多个网站网站建设订制版合同模板
  • 做网站挣钱吗现在营销网站域名设计
  • 手袋 东莞网站建设深圳龙华区有什么好玩的地方
  • 手机版网站怎么做网页升级转跳大通知
  • 51做网站建设企业官网玉溪建设局门户网站
  • 网站的流量有什么用泰州网站建设定制
  • 松江营销型网站建设公司泰安网站建设招聘
  • 来宾网站建设 菠萝菠萝蜜在线高清
  • 网站开发常见毕业设计题目工业品公司做商城网站好吗
  • 怎么自己建网站2018年做网站还能