我正在用Node.js, Express.js和Jade组合写一个应用程序。

我有client.js文件,它被加载在客户端上。在这个文件中,我有调用其他JavaScript文件的函数的代码。我的尝试是利用

var m = require('./messages');

以便加载messages.js的内容(就像我在服务器端所做的那样),然后从该文件中调用函数。但是,require没有在客户端定义,并且它抛出一个Uncaught ReferenceError形式的错误:require没有定义。

这些其他JavaScript文件也在运行时在客户机上加载,因为我将链接放在网页的头部。客户端知道从其他文件导出的所有函数。

如何从打开到服务器的套接字的主客户端.js文件中的这些其他JavaScript文件(如messages.js)调用这些函数?


当前回答

人们在问什么是脚本标记方法。下面就是:

<script src='./local.js'></script>. 

或来自网络:

<script src='https://mycdn.com/myscript.js'></script>

你需要为你的脚本插入正确的url。

其他回答

window = new BrowserWindow({
    webPreferences: {
        nodeIntegration: true,
        contextIsolation: false
    }
});

人们在问什么是脚本标记方法。下面就是:

<script src='./local.js'></script>. 

或来自网络:

<script src='https://mycdn.com/myscript.js'></script>

你需要为你的脚本插入正确的url。

我确认。我们必须补充:

webPreferences: {
    nodeIntegration: true
}

例如:

mainWindow = new BrowserWindow({webPreferences: {
    nodeIntegration: true
}});

对我来说,问题已经解决了。

将所有require语句替换为import语句。例子:

// Before:
const Web3 = require('web3');

// After:
import Web3 from 'web3';

这对我很管用。

这对我很有效

从RequireJS下载页面获取最新版本 它是我们将使用的RequestJS文件。 像这样把它加载到你的HTML内容中: <script data-main="your-script.js" src="require.js"></script> .js

笔记!

在your-script.js中使用require([' module -name']), 不需要(“moudle-name”)

使用const {ipcRenderer} = require(['electron']), not const {ipcRenderer} = require('电子')