采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我感觉2-6章节有点疑问,按道理安装了babel-plugin-transform-runtime转义后就算node版本是6.x的也应该可以执行这个async函数,但是我转义后还是错的。并且课程中package.json中scripts脚本部分每次都是以--presets env结尾 感觉好像只是执行了es6的转换 并没有 去转换es7的命令。所以我很好奇是不是转换了es7的语法 然后让node低版本的也可以去运行?
这个到后面会改成这样的写法
require('babel-core/register')() require('babel-polyfill') require('./server/index.js')
在入口文件里面来注册,同时配合这样的 babelrc
{ "presets": ["env", "stage-0", "react"], "plugins": [ "transform-runtime", "transform-decorators-legacy", "transform-class-properties" ] }
在 package 里面,除了 env 也可以追加 plugins 来进行编译,比如
--plugins plugin-transform-runtime
谢谢老师,我有个疑问就是关于node线上的问题,我是这样理解的,如果我线上的node环境保持8.x就可以了,那就不需要一些babel等转换语法,是这样理解的吗,因为node作为这个web服务的话不需要去运行在客户端,不知道我这个想法是不是对的。
基本是对的,大部分语法特性 8.x 都支持了,比如 async await,但是比如 import decorator 之类的还不支持,所以还需要 babel 的加成。 除非拖累对这些语法的依赖,那么 babel 可以全部移除
谢谢老师,老师我目前学习这个koa2目的是希望用node作为中间层,后端还是java,前端用这个vue写,数据请求和处理放中间层,我有疑问就是我这个中间层是否还需要打包工具,前端是webpack打包的,这个中间层我就不知道如何打包以及推到线上。
中间层就不用打包了,直接推线上,用 babel node 启动跑起来看看响应性能如何,如果性能有问题的话,可以再考虑在线上用 babel 把整个项目编译一遍后,来启动编译后的服务入口文件,目前可以不考虑
谢谢老师
登录后可查看更多问答,登录/注册
Koa2+MongoDB+Parcel+Puppeteer+AntDesign快速搭建预告片网站
1.1k 7
1.2k 7
943 6
777 6
868 6