微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Webpack + Discord.js + Electron

如何解决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 举报,一经查实,本站将立刻删除。