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

No "exports" main defined #26

Open
spencer-luo opened this issue Jun 18, 2024 · 11 comments
Open

No "exports" main defined #26

spencer-luo opened this issue Jun 18, 2024 · 11 comments

Comments

@spencer-luo
Copy link

spencer-luo commented Jun 18, 2024

今天尝试在自己的服务端部署,遇到一个新的问题:
No "exports" main defined in /home/www/discuss_comment/node_modules/discuss/package.json

执行 node index.js后报错:
image

系统环境:
image

package.json :

{
  "name": "discuss_comment",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "discuss": "1.2.6"
  }
}

index.js

const discuss = require('discuss')

// 选择以什么方式运行
discuss.server() // 服务器使用 (Server)

discuss.main() // 无服务器使用 (ServerLess)

.env
image

@Lete114
Copy link
Member

Lete114 commented Jun 18, 2024

看上去貌似是没问题的,但是index.js里你因该删除掉discuss.main() // 无服务器使用 (ServerLess),因为他是为无服务器准备的,你不能同时使用两种运行方式

至于报错的原因我分析出可能是因为,npm install的时候没有完整安装,可以尝试清理以下npm缓存npm cache clean --force,删除 node_modules 文件夹 rm -rf node_modules,重新安装依赖npm install

如果按照以上步骤操作后仍然有错误的话,你可以试试将index.js内容改为

// index.js
const discuss = require('./node_modules/discuss/src/server/index')

discuss()

@spencer-luo
Copy link
Author

修改成
const discuss = require('./node_modules/discuss/src/server/index')
discuss()

生效了。

image

@spencer-luo
Copy link
Author

现在又遇到一个新的问题,需要请教一下。

发布评论请求时,提示: Database connect fault。是我的数据库配置有什么问题吗?

image

@Lete114
Copy link
Member

Lete114 commented Jun 19, 2024

抱歉,我说错了
因该是这样

// index.js
const discuss = require('./node_modules/discuss/index')

discuss.server()

@spencer-luo
Copy link
Author

discuss.server()

你好~ 修改之后还会报错,服务器的log如下,知道是什么问题吗?

image

@spencer-luo
Copy link
Author

HTTP返回的错误码是200,但是前端提示“评论失败”。服务器查了一下数据库,是空的,说明添加成功。

image

@spencer-luo
Copy link
Author

看log提示应该是:从d_admin表里查不到管理员数据,这个管理员账号需要怎么初始化呢?

image

@Lete114
Copy link
Member

Lete114 commented Jun 19, 2024

你得初始化管理员账号

image

@spencer-luo
Copy link
Author

你好~ 根据你的提示,我把discuss系统部署起来了。但是发现一个问题:

初始化管理员账户后,后台管理系统只有第一次登录是成功的,后面每次登录都是失败的,提示“用户名或密码错误”,但是我的密码确定是对的。
password_error

最开始我以为是密码错了,但是我做了以下的测试:

  1. 登录我的服务器系统,登录我的mysql,通过 DELETE FROM d_admin WHERE id = 'XXX'; 删除我的管理员账户。
  2. 重启discuss服务,重新访问我的网站(公网IP:6870),重新初始化我的管理员账户。
  3. 再次重启discuss服务,再次访问我的网站(公网IP:6870),这时会跳转登录页面,重新用户名和密码进行登录。
  4. 发现还是提示“用户名或密码错误”,但是我的密码确定是对的。

然后用浏览器调试,发现返回的错误码是403, 发起登录请求时密码竟然是明文传输的。

image

password_error2

1 similar comment
@spencer-luo
Copy link
Author

你好~ 根据你的提示,我把discuss系统部署起来了。但是发现一个问题:

初始化管理员账户后,后台管理系统只有第一次登录是成功的,后面每次登录都是失败的,提示“用户名或密码错误”,但是我的密码确定是对的。
password_error

最开始我以为是密码错了,但是我做了以下的测试:

  1. 登录我的服务器系统,登录我的mysql,通过 DELETE FROM d_admin WHERE id = 'XXX'; 删除我的管理员账户。
  2. 重启discuss服务,重新访问我的网站(公网IP:6870),重新初始化我的管理员账户。
  3. 再次重启discuss服务,再次访问我的网站(公网IP:6870),这时会跳转登录页面,重新用户名和密码进行登录。
  4. 发现还是提示“用户名或密码错误”,但是我的密码确定是对的。

然后用浏览器调试,发现返回的错误码是403, 发起登录请求时密码竟然是明文传输的。

image

password_error2

@Lete114
Copy link
Member

Lete114 commented Jul 17, 2024

我本地现搭了一个,我这边确实是正常的,没有任何问题。

盲猜可能是你nginx配置了什么东西吧?你可以自己本地启动一个试试

image
image
image
image

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

2 participants