[0]Laya能否取消编译环节。采用跨域资源访问方式。 即 代码实时更改实时运行

 
目前 编辑器的编译只是做了一个这样的功能,  将所有依赖的lib先加载 然后加载用户脚本 并写入到一个 bundle.js中  仅此而已
而这个功能实际上 类似发布。 
 
这种情况的作用实际上 将我们的项目代码和依赖库备份了一份 整合到一起  这种情况我个人推荐是可以取消的。 
 
每次修改用户代码都需要重新编译 是件很头痛的事。毕竟这不是c++ 不需要编译和link   js项目跨域一下 就能直接访问
 
已邀请:

第七天堂

赞同来自:

提供一个上述的解决方案:  
 


我的需求是 每次编译正常情况下 只会飘字 编译时长
编译报错的情况再弹出 编译窗口。提供堆栈和报错信息


 
 
解决方案如下:
先封装 一个log日志方法和一个飘字方法
    //new: 打印控制台日志
log (content, fontColor = "#5EE997", bgColor = "#000000") {
console.log(`%c${ content }`, `color:${ fontColor };background:${ bgColor };`);
}
//new: 编辑器弹窗
messageMsg (content) {
laya.editor.manager.MessageManager.instance.show(content);
}

 
 
找到 编译按钮的回调处理方法. compileProAndCallBack
注释掉 window.scrollPanel.show
 
 
 
正常编译通过 飘字用时。不弹窗
 
 
编译异常和编译中断的情况


这里注意一点。报错时 fork1.stderr.on("data", (err) 内点方法 并不会触发
而所有的信息。正常和报错 都混合在 fork1.stdout.on("data", (data) 中处理
 
data是一个arrarybuff对象 我们可以对。let _data = data + "";  后的字符串进行匹配处理
 
 


 //new: 编译异常时显示 报错信息
( !window.scrollPanel.instance ) && ( _data.indexOf("{ Error:") != -1 ) && window.scrollPanel.show("靓仔 你的代码有bug!");

第七天堂

赞同来自:

能否 在编辑器中 不进行整合 而是仅将ts转译成js后 自动调用浏览器刷新

188*****200

赞同来自:

同意,有时候调试页面一个文字位置,都要重新编译5~10秒,随着项目越来越大,时间会更久。
可以说是开发一个项目,50%的时间都用在了等待编译上。而这些时间按理说是可以被省下来的

第七天堂

赞同来自:

可以在编辑器的时候不需要合并到 bundle.js里。
打包的时候再合并

要回复问题请先

商务合作
商务合作