如何在Electron中使用require()?

3

我第一次使用 electronwebchimera。我看到了这个演示,但我不想在主窗口中打开播放器。由于我不太熟悉electron的使用,因此我尝试使用一个服务器来渲染索引页面,并在按钮单击后加载播放器页面。

客户端从服务器加载索引页面:

//this is for webchimera
if (process.platform == 'win32')
    process.env['VLC_PLUGIN_PATH'] = require('path').join(__dirname, 'node_modules/wcjs-prebuilt/bin/plugins');


const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')

// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let win

function createWindow () {
  // Create the browser window.
  win = new BrowserWindow({width: 800, height: 600})

  // and load the index.html of the app.
  win.loadURL("http://localhost:8888/")

  // Open the DevTools.
  win.webContents.openDevTools()

  // Emitted when the window is closed.
  win.on('closed', () => {
    // Dereference the window object, usually you would store windows
    // in an array if your app supports multi windows, this is the time
    // when you should delete the corresponding element.
    win = null
  })
}

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', createWindow)

// Quit when all windows are closed.
app.on('window-all-closed', () => {
  // On macOS it is common for applications and their menu bar
  // to stay active until the user quits explicitly with Cmd + Q
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', () => {
  // On macOS it's common to re-create a window in the app when the
  // dock icon is clicked and there are no other windows open.
  if (win === null) {
    createWindow()
  }
})

// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.

首页包含指向玩家页面的链接,如果被点击,服务器将响应并返回玩家页面。服务器运行在Node.js上。

服务器在本地主机的8888端口运行,并发送以下HTML页面:

<html>
<head>
  <style>
  body,html{ width: 100%; height: 100%; padding: 0px; margin:0px }
  #player { width: 100%; height: 100% }
  </style>
</head>
  
<body>
  <div id="player"></div>
  <script>
  var wjs = require("wcjs-player");
  var player = new wjs("#player").addPlayer({
    autoplay: true,
    wcjs: require('wcjs-prebuilt')
  });
  player.addPlaylist("http://archive.org/download/CartoonClassics/Krazy_Kat_-    _Keeping_Up_With_Krazy.mp4");
  </script>
</body>
</html>

但是我遇到了这个错误:无法找到模块wcjs-player

我该如何解决?

PS:我之前写了一个Web应用程序,所以才使用了服务器。但这不是必需的。我可以删除服务器,只使用客户端。

1个回答

1
那意味着模块wcjs-player没有安装。在控制台/终端中运行npm install wcjs-player来安装它,这应该会有所帮助,同时你可能还想看一下this

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接