Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于二次开发编译部署的一些心得 #2727

Open
zystudios opened this issue Dec 20, 2023 · 6 comments
Open

关于二次开发编译部署的一些心得 #2727

zystudios opened this issue Dec 20, 2023 · 6 comments

Comments

@zystudios
Copy link

zystudios commented Dec 20, 2023

感谢官方开源Yapi,然后基于最新版本,做了2次开发,总结一些开发过程中遇到的坑,给其他兄弟参考

YAPI是在mac下开发的,大家尽量用mac,这样报错少一些,我在win10下会遇到各种奇怪的问题,包括组件包安装失败,编译报错,不识别的linux命令等,如果遇到了就单独一个个解决,这个和环境有关系,每个人遇到的可能都不一样,我在mac和win下都进行了测试,总体mac会顺利很多


由于服务器环境不同,node和YApi的组件版本都比较低,服务器编译容易出各种错误,官方docker部署不会编译前端代码,默认复制static/prd下面已经编译好的js代码

关于docker部署:

  • 先自行在服务器提前配置好环境(安装node,ykit和webpack等相关组件,可能需要全局安装,具体看服务器设置,需要有sudo权限,全部安装完毕后,在服务器手动执行npm run build-client 看能否正确编译)如果能编译正确,生成编译文件,那么恭喜你,可以用方案二,如果有各种报错又懒得解决,就用方案一,我这边服务器是unbantu,某些包总是安装失败,我也没有最高权限,就用方案一了
    • 方案一:每次docker build之前先手动在本地npm run build-client编译,生成最终文件上传服务器,这样docker 就直接复制文件不走编译了
    • 方案二:修改dockerfile里增加编译代码 npm run build-client 即可,这样每次docker build都会重新编译文件,编译时间根据硬件配置不同时间不同

官方1.12.0默认关闭了全局Mock脚本,这个功能慎用,vm2 沙箱组件执行完会有无法退出linux进程的问题,导致请求一次创建一个进程,最终几千上万个进程把内存耗光,这个应该是vm2的问题,不是yapi的问题,暂时没有好的解决办法,所以官方禁用了事 。如果有修复麻烦告知谢谢,这个已经有人在vm2的github提issue了,但是官方没有更新


开发环境配置(基于MAC)
node版本: node v10.24.1 (npm v6.14.12),node版本不要高于12,否则部分组件版本过低会报错

antd版本锁定3.20.0,再高会有样式错误,这个已经经过测试了

打包采用ykit,需要独立全局安装

npm install ykit -g
如果有报错,可以使用
npm install ykit -g --unsafe-perm=true --allow-root

生产模式打包
npm run build-client
或者直接
NODE_ENV=production ykit pack -m
如果提示某些 module not found,独立安装即可

打包编译问题参考 https://juejin.cn/post/7246596616694317114 感谢文章作者,这里面解决了大部分的编译警告问题


数据库没有版本要求,我自己装的最新版本mongodb(当时,2023年中),但是mongo的更新非常频繁,新版本会废弃一些旧版本的指令,所以不要安装现在的最新版本,如果遇到运行警告或者错误

  1. 自己修改yapi中操作数据库的指令,适应新版本
  2. 降低mongo的版本,我当时装的应该是7.0.2,会提示有几个指令将废弃,不想改就再降低版本

部署命令

编译容器
docker build -t yapi .

启动容器,注意mongodb_ip 这里是ip地址,不加端口,端口在config文件默认配置27017

docker run -p 3000:3000 --name yapi_web -e [email protected] \
-e YAPI_DB_SERVER_NAME={mongodb_ip} -e YAPI_DB_USER={mongodb_user} -e YAPI_DB_PASS={mongodb_pass} yapi
@Chef5
Copy link

Chef5 commented Jan 9, 2024

我深受数据库版本影响,我用的7.0.5 😭:

log: mongodb load success...
(node:253592) UnhandledPromiseRejectionWarning: MongoError: Unsupported OP_QUERY command: insert. The client driver may require an upgrade. For more details see https://dochub.mongodb.org/core/legacy-opcode-removal

@zystudios
Copy link
Author

zystudios commented Jan 9, 2024

我深受数据库版本影响,我用的7.0.5 😭:

log: mongodb load success...
(node:253592) UnhandledPromiseRejectionWarning: MongoError: Unsupported OP_QUERY command: insert. The client driver may require an upgrade. For more details see https://dochub.mongodb.org/core/legacy-opcode-removal

降一下数据库版本,新版本废弃了一些指令,加了一些新指令,我这个二次开发是去年搞得,当时的mongo用的7.0.2,要是还不行就再降低一下,我也遇到了查询指令废弃的警告,我自己手动改了部分yapi的数据库操作指令来适应mongo新版本

@Chef5
Copy link

Chef5 commented Jan 10, 2024

我深受数据库版本影响,我用的7.0.5 😭:

log: mongodb load success...
(node:253592) UnhandledPromiseRejectionWarning: MongoError: Unsupported OP_QUERY command: insert. The client driver may require an upgrade. For more details see https://dochub.mongodb.org/core/legacy-opcode-removal

降一下数据库版本,新版本废弃了一些指令,加了一些新指令,我这个二次开发是去年搞得,当时的mongo用的7.0.2,要是还不行就再降低一下,我也遇到了查询指令废弃的警告,我自己手动改了部分yapi的数据库操作指令来适应mongo新版本

我是做迁移,原来的yapi版本太低了,安装了最新的数据库版本就有影响了。我升级到最新版的yapi后就可以了,其实好在官方没有调整数据库结构,原来的数据还能在最新的yapi版本中使用,感谢yapi!

@pastel001
Copy link

pastel001 commented Mar 5, 2024

麻烦问下,yapi的插件
export-docx-data 数据导出docx文档
interface-oauth-token 定时自动获取鉴权token的插件
import-swagger-customize 导入指定swagger接口
这些对yapi的版本有要求吗?

我使用如下的node版本呢,yapi 1.12.0和1.9.2都尝试安装插件,ykit都编译不过,文档太不友好了,什么版本关系都不写,谢谢
[root@iZ2zecfhh6x8qvhg4it0oaZ vendors]# node -v
v10.24.1
[root@iZ2zecfhh6x8qvhg4it0oaZ vendors]# npm -v
6.14.12

[root@iZ2zecfhh6x8qvhg4it0oaZ vendors]# NODE_ENV=production ykit pack -m
[error] ./~/swagger-client/lib/index.js
Module parse failed: /opt/my-yapi/vendors/node_modules/swagger-client/lib/index.js Unexpected token (106:6)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (106:6)
    at Parser.pp$4.raise (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)
    at Parser.pp.unexpected (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10)
    at Parser.pp$3.parseIdent (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2189:12)
    at Parser.pp$3.parsePropertyName (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2052:101)
    at Parser.pp$3.parseObj (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1988:14)
    at Parser.pp$3.parseExprAtom (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1805:19)
    at Parser.pp$3.parseExprSubscripts (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1715:21)
    at Parser.pp$3.parseMaybeUnary (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1692:19)
    at Parser.pp$3.parseExprOps (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1637:21)
    at Parser.pp$3.parseMaybeConditional (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1620:21)
    at Parser.pp$3.parseMaybeAssign (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1597:21)
    at Parser.pp$3.parseExprList (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2165:22)
    at Parser.pp$3.parseSubscripts (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1741:35)
    at Parser.pp$3.parseExprSubscripts (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1718:17)
    at Parser.pp$3.parseMaybeUnary (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1692:19)
    at Parser.pp$3.parseExprOps (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1637:21)
 @ ./~/swagger-client/lib/commonjs.js 6:4-25

[error] ../config.json
Module build failed: SyntaxError: Unexpected token m in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.module.exports (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/json-loader/index.js:4:49)
 @ ./server/yapi.js 12:13-41

[error] ./~/fs-extra/lib/empty/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/fs-extra/lib/empty
 @ ./~/fs-extra/lib/empty/index.js 4:11-24

[error] ./~/nodemailer/lib/sendmail-transport/index.js
Module not found: Error: Cannot resolve module 'child_process' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/sendmail-transport
 @ ./~/nodemailer/lib/sendmail-transport/index.js 3:14-38

[error] ./~/nodemailer/lib/mailer/index.js
Module not found: Error: Cannot resolve module 'net' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/mailer
 @ ./~/nodemailer/lib/mailer/index.js 13:12-26

[error] ./~/nodemailer/lib/mailer/index.js
Module not found: Error: Cannot resolve module 'dns' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/mailer
 @ ./~/nodemailer/lib/mailer/index.js 14:12-26

[error] ./~/nodemailer/lib/shared/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/shared
 @ ./~/nodemailer/lib/shared/index.js 5:11-24

[error] ./~/nodemailer/lib/smtp-connection/http-proxy-client.js
Module not found: Error: Cannot resolve module 'net' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/http-proxy-client.js 7:12-26

[error] ./~/nodemailer/lib/smtp-connection/http-proxy-client.js
Module not found: Error: Cannot resolve module 'tls' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/http-proxy-client.js 8:12-26

[error] ./~/nodemailer/lib/dkim/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/dkim
 @ ./~/nodemailer/lib/dkim/index.js 10:11-24

[error] ./~/graceful-fs/graceful-fs.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/graceful-fs
 @ ./~/graceful-fs/graceful-fs.js 1:9-22

[error] ./~/nodemailer/lib/smtp-connection/index.js
Module not found: Error: Cannot resolve module 'net' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/index.js 5:12-26

[error] ./~/nodemailer/lib/smtp-connection/index.js
Module not found: Error: Cannot resolve module 'tls' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/index.js 6:12-26

[error] ./~/jsonfile/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/jsonfile
 @ ./~/jsonfile/index.js 5:8-21

[error] ./~/nodemailer/lib/mime-node/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/mime-node
 @ ./~/nodemailer/lib/mime-node/index.js 7:11-24

[error] [email protected] from UglifyJs
SyntaxError: Name expected [../~/swagger-client/lib/commonjs.js:4,0]

@zystudios
Copy link
Author

麻烦问下,yapi的插件 export-docx-data 数据导出docx文档 interface-oauth-token 定时自动获取鉴权token的插件 import-swagger-customize 导入指定swagger接口 这些对yapi的版本有要求吗?

我使用如下的node版本呢,yapi 1.12.0和1.9.2都尝试安装插件,ykit都编译不过,文档太不友好了,什么版本关系都不写,谢谢 [root@iZ2zecfhh6x8qvhg4it0oaZ vendors]# node -v v10.24.1 [root@iZ2zecfhh6x8qvhg4it0oaZ vendors]# npm -v 6.14.12

[root@iZ2zecfhh6x8qvhg4it0oaZ vendors]# NODE_ENV=production ykit pack -m
[error] ./~/swagger-client/lib/index.js
Module parse failed: /opt/my-yapi/vendors/node_modules/swagger-client/lib/index.js Unexpected token (106:6)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (106:6)
    at Parser.pp$4.raise (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)
    at Parser.pp.unexpected (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10)
    at Parser.pp$3.parseIdent (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2189:12)
    at Parser.pp$3.parsePropertyName (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2052:101)
    at Parser.pp$3.parseObj (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1988:14)
    at Parser.pp$3.parseExprAtom (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1805:19)
    at Parser.pp$3.parseExprSubscripts (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1715:21)
    at Parser.pp$3.parseMaybeUnary (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1692:19)
    at Parser.pp$3.parseExprOps (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1637:21)
    at Parser.pp$3.parseMaybeConditional (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1620:21)
    at Parser.pp$3.parseMaybeAssign (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1597:21)
    at Parser.pp$3.parseExprList (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2165:22)
    at Parser.pp$3.parseSubscripts (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1741:35)
    at Parser.pp$3.parseExprSubscripts (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1718:17)
    at Parser.pp$3.parseMaybeUnary (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1692:19)
    at Parser.pp$3.parseExprOps (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1637:21)
 @ ./~/swagger-client/lib/commonjs.js 6:4-25

[error] ../config.json
Module build failed: SyntaxError: Unexpected token m in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.module.exports (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/json-loader/index.js:4:49)
 @ ./server/yapi.js 12:13-41

[error] ./~/fs-extra/lib/empty/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/fs-extra/lib/empty
 @ ./~/fs-extra/lib/empty/index.js 4:11-24

[error] ./~/nodemailer/lib/sendmail-transport/index.js
Module not found: Error: Cannot resolve module 'child_process' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/sendmail-transport
 @ ./~/nodemailer/lib/sendmail-transport/index.js 3:14-38

[error] ./~/nodemailer/lib/mailer/index.js
Module not found: Error: Cannot resolve module 'net' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/mailer
 @ ./~/nodemailer/lib/mailer/index.js 13:12-26

[error] ./~/nodemailer/lib/mailer/index.js
Module not found: Error: Cannot resolve module 'dns' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/mailer
 @ ./~/nodemailer/lib/mailer/index.js 14:12-26

[error] ./~/nodemailer/lib/shared/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/shared
 @ ./~/nodemailer/lib/shared/index.js 5:11-24

[error] ./~/nodemailer/lib/smtp-connection/http-proxy-client.js
Module not found: Error: Cannot resolve module 'net' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/http-proxy-client.js 7:12-26

[error] ./~/nodemailer/lib/smtp-connection/http-proxy-client.js
Module not found: Error: Cannot resolve module 'tls' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/http-proxy-client.js 8:12-26

[error] ./~/nodemailer/lib/dkim/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/dkim
 @ ./~/nodemailer/lib/dkim/index.js 10:11-24

[error] ./~/graceful-fs/graceful-fs.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/graceful-fs
 @ ./~/graceful-fs/graceful-fs.js 1:9-22

[error] ./~/nodemailer/lib/smtp-connection/index.js
Module not found: Error: Cannot resolve module 'net' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/index.js 5:12-26

[error] ./~/nodemailer/lib/smtp-connection/index.js
Module not found: Error: Cannot resolve module 'tls' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/index.js 6:12-26

[error] ./~/jsonfile/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/jsonfile
 @ ./~/jsonfile/index.js 5:8-21

[error] ./~/nodemailer/lib/mime-node/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/mime-node
 @ ./~/nodemailer/lib/mime-node/index.js 7:11-24

[error] [email protected] from UglifyJs
SyntaxError: Name expected [../~/swagger-client/lib/commonjs.js:4,0]

我没有使用这些插件,所以不太了解具体问题,通常插件开发必须对应yapi的版本号,因为yapi的任何升级都可能造成插件失效,这个具体需要问插件作者了

index.js Unexpected token (106:6)
Module build failed: SyntaxError: Unexpected token m in JSON at position 0

这种更多是文件解析错误(如果文件本身没有问题的话),查一下babel设置
可以参考这个issue #1865

Cannot resolve module 'fs'
Error: Cannot resolve module 'net'
这些类似问题可以参考下面文章解决
https://juejin.cn/post/7246596616694317114

@pastel001
Copy link

麻烦问下,yapi的插件 export-docx-data 数据导出docx文档 interface-oauth-token 定时自动获取鉴权token的插件 import-swagger-customize 导入指定swagger接口 这些对yapi的版本有要求吗?
我使用如下的node版本呢,yapi 1.12.0和1.9.2都尝试安装插件,ykit都编译不过,文档太不友好了,什么版本关系都不写,谢谢 [root@iZ2zecfhh6x8qvhg4it0oaZ vendors]# node -v v10.24.1 [root@iZ2zecfhh6x8qvhg4it0oaZ vendors]# npm -v 6.14.12

[root@iZ2zecfhh6x8qvhg4it0oaZ vendors]# NODE_ENV=production ykit pack -m
[error] ./~/swagger-client/lib/index.js
Module parse failed: /opt/my-yapi/vendors/node_modules/swagger-client/lib/index.js Unexpected token (106:6)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (106:6)
    at Parser.pp$4.raise (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)
    at Parser.pp.unexpected (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10)
    at Parser.pp$3.parseIdent (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2189:12)
    at Parser.pp$3.parsePropertyName (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2052:101)
    at Parser.pp$3.parseObj (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1988:14)
    at Parser.pp$3.parseExprAtom (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1805:19)
    at Parser.pp$3.parseExprSubscripts (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1715:21)
    at Parser.pp$3.parseMaybeUnary (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1692:19)
    at Parser.pp$3.parseExprOps (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1637:21)
    at Parser.pp$3.parseMaybeConditional (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1620:21)
    at Parser.pp$3.parseMaybeAssign (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1597:21)
    at Parser.pp$3.parseExprList (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:2165:22)
    at Parser.pp$3.parseSubscripts (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1741:35)
    at Parser.pp$3.parseExprSubscripts (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1718:17)
    at Parser.pp$3.parseMaybeUnary (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1692:19)
    at Parser.pp$3.parseExprOps (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/webpack/node_modules/acorn/dist/acorn.js:1637:21)
 @ ./~/swagger-client/lib/commonjs.js 6:4-25

[error] ../config.json
Module build failed: SyntaxError: Unexpected token m in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.module.exports (/root/.nvm/versions/node/v10.24.1/lib/node_modules/ykit/node_modules/json-loader/index.js:4:49)
 @ ./server/yapi.js 12:13-41

[error] ./~/fs-extra/lib/empty/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/fs-extra/lib/empty
 @ ./~/fs-extra/lib/empty/index.js 4:11-24

[error] ./~/nodemailer/lib/sendmail-transport/index.js
Module not found: Error: Cannot resolve module 'child_process' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/sendmail-transport
 @ ./~/nodemailer/lib/sendmail-transport/index.js 3:14-38

[error] ./~/nodemailer/lib/mailer/index.js
Module not found: Error: Cannot resolve module 'net' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/mailer
 @ ./~/nodemailer/lib/mailer/index.js 13:12-26

[error] ./~/nodemailer/lib/mailer/index.js
Module not found: Error: Cannot resolve module 'dns' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/mailer
 @ ./~/nodemailer/lib/mailer/index.js 14:12-26

[error] ./~/nodemailer/lib/shared/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/shared
 @ ./~/nodemailer/lib/shared/index.js 5:11-24

[error] ./~/nodemailer/lib/smtp-connection/http-proxy-client.js
Module not found: Error: Cannot resolve module 'net' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/http-proxy-client.js 7:12-26

[error] ./~/nodemailer/lib/smtp-connection/http-proxy-client.js
Module not found: Error: Cannot resolve module 'tls' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/http-proxy-client.js 8:12-26

[error] ./~/nodemailer/lib/dkim/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/dkim
 @ ./~/nodemailer/lib/dkim/index.js 10:11-24

[error] ./~/graceful-fs/graceful-fs.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/graceful-fs
 @ ./~/graceful-fs/graceful-fs.js 1:9-22

[error] ./~/nodemailer/lib/smtp-connection/index.js
Module not found: Error: Cannot resolve module 'net' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/index.js 5:12-26

[error] ./~/nodemailer/lib/smtp-connection/index.js
Module not found: Error: Cannot resolve module 'tls' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/smtp-connection
 @ ./~/nodemailer/lib/smtp-connection/index.js 6:12-26

[error] ./~/jsonfile/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/jsonfile
 @ ./~/jsonfile/index.js 5:8-21

[error] ./~/nodemailer/lib/mime-node/index.js
Module not found: Error: Cannot resolve module 'fs' in /opt/my-yapi/vendors/node_modules/nodemailer/lib/mime-node
 @ ./~/nodemailer/lib/mime-node/index.js 7:11-24

[error] [email protected] from UglifyJs
SyntaxError: Name expected [../~/swagger-client/lib/commonjs.js:4,0]

我没有使用这些插件,所以不太了解具体问题,通常插件开发必须对应yapi的版本号,因为yapi的任何升级都可能造成插件失效,这个具体需要问插件作者了

index.js Unexpected token (106:6) Module build failed: SyntaxError: Unexpected token m in JSON at position 0

这种更多是文件解析错误(如果文件本身没有问题的话),查一下babel设置 可以参考这个issue #1865

Cannot resolve module 'fs' Error: Cannot resolve module 'net' 这些类似问题可以参考下面文章解决 https://juejin.cn/post/7246596616694317114

感谢,感谢,编译通过了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants