首页 > 解决方案 > 在渲染器中使用 Electron 10 和 Requirejs 会返回错误

问题描述

我一直在使用 Electron 9 的 requirejs(最新),但是自从 Electron 10 将它包含在渲染器脚本中时,我看到以下错误:

node_modules/requirejs/bin/r.js:1
(function (exports, require, module, __filename, __dirname, process, global, Buffer) { return function (exports, require, module, __filename, __dirname) { #!/usr/bin/env node

                                                                                                                                                           ^
SyntaxError: Invalid or unexpected token
    at new Script (vm.js:88:7)
    at createScript (vm.js:261:10)
    at Object.runInThisContext (vm.js:309:10)
    at wrapSafe (internal/modules/cjs/loader.js:1047:15)
    at Module._compile (internal/modules/cjs/loader.js:1108:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1173:10)
    at Module.load (internal/modules/cjs/loader.js:992:32)
    at Module._load (internal/modules/cjs/loader.js:885:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12694)
    at Module.require (internal/modules/cjs/loader.js:1032:19)

重现:

在 main.js 中

function createWindow () {
  // Create the browser window.
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration:true
    }
  })

  //and load the index.html of the app.
  mainWindow.loadFile('index.html')

在 index.html 中

<script src="./renderer.js"></script>

在 renderer.js 中

var r = require('requirejs');

标签: electronrequirejs

解决方案


推荐阅读