如何在heroku上的node.js中使用画布

时间: 2024-05-10 admin IT培训

如何在heroku上的node.js中使用画布

如何在heroku上的node.js中使用画布

我得到的错误如下:

Error: Cannot find module 'canvas'
Require stack:
- /app/index.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:957:15)
at Function.Module._load (internal/modules/cjs/loader.js:840:27)at Module.require (internal/modules/cjs/loader.js:1019:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object.<anonymous> (/app/index.js:6:16)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
at Module.load (internal/modules/cjs/loader.js:977:32)
at Function.Module._load (internal/modules/cjs/loader.js:877:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/app/index.js' ]

[当我尝试本地操作时,效果很好,将代码上传到Heroku后,我开始遇到问题。我已经在网上搜索过,但似乎Google在此问题上的所有答案都已过时。这些是我当前的依赖项:

"dependencies": {
    "canvas": "^2.6.1",
    "discord.js": "^12.2.0",
    "node": "^14.2.0"
}

这是我的代码:

const Discord = require('discord.js');
const { prefix } = require ('./config.json');
const client = new Discord.Client();
const Canvas = require('canvas');

client.once('ready', () => {
    console.log('Ready!');
});

client.on('message', message => {
    // Do something.
}

任何有帮助的人吗?

回答如下:

[首先,使用Heroku,您不需要将node_modules上传到GitHub或其他东西。您也可以在终端中尝试:

npm开始

然后:

npm install discord.js画布节点