如何解决Webpack + Discord.js + Electron
构建Webpack时遇到问题。
discord客户端未初始化。
这是我在Electron上的第一个应用程序。请帮助。
错误:未捕获的TypeError:i(...)。客户端不是webpack文件中的构造函数。
我寻求帮助,我很高兴得到一个好的答复。下面,我将提供所有文件的代码。 this problem look like in browser
main.js
const path = require('path');
const url = require('url');
const {app,browserWindow} = require('electron');
const {sendMessage,isValidForm} = require('./back.js');
let win;
function createWindow() {
win = new browserWindow({
width: 1200,height : 800,icon : __dirname + "/img/icon.png"
});
win.loadURL(url.format({
pathname: path.join(__dirname,"/html/index.html"),protocol: 'file:',slashes: true
}));
win.webContents.openDevTools();
win.on('closed',() => {
win = null;
});
}
app.on('ready',createWindow);
app.on('window-all-closed',() => {
app.quit();
});
webpack.config.js
var path = require('path');
module.exports = {
entry: './src/components/main.js',output: {
filename: 'bundle.js',path: path.resolve(__dirname,'dist')
},externals: [
(function () {
var IGnorES = [
'electron','fs'
];
return function (context,request,callback) {
if (IGnorES.indexOf(request) >= 0) {
return callback(null,"require('" + request + "')");
}
return callback();
};
})()
]
};
back.js
const discord = require('discord.js');
const bot = new discord.Client();
bot.login("token")
function isValidForm (first,second) {
if(first.value == "" || second.value == "") {
return alert('Одна из форм не заполненна')
}
sendMessage(first.value,second.value);
}
function sendMessage (channelName,message) {
const channel = bot.channels.cache.find(ch => ch.name === channelName);
if(!channel) {
return alert("Канал с таним названием не найден!");
}
channel.send(message);
}
module.exports = {sendMessage,isValidForm};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。