相关疑难解决方法(0)

节点上的客户端:未捕获的ReferenceError:未定义require

所以,我正在用node/express + jade combo编写一个应用程序.

我有client.js,在客户端加载.在该文件中,我有从其他JavaScript文件调用函数的代码.我的尝试是使用

var m = require('./messages');
Run Code Online (Sandbox Code Playgroud)

为了加载messages.js(就像我在服务器端一样)的内容,然后加载该文件的调用函数.但是,require没有在客户端定义,它会抛出窗体的错误Uncaught ReferenceError: require is not defined.

这些其他JS文件也在客户端的运行时加载,因为我将链接放在网页的标题上.因此,客户端知道从这些其他文件导出的所有函数.

如何从打开服务器套接字messages.js的主client.js文件中的其他JS文件(例如)中调用这些函数?

javascript sockets node.js express pug

277
推荐指数
5
解决办法
55万
查看次数

Typescript ReferenceError:未定义导出

尝试按照官方手册实现模块,我收到以下错误消息:

未捕获的ReferenceError:未定义导出

在app.js:2

但我的代码中没有任何地方使用该名称exports.

我怎样才能解决这个问题?


app.ts

let a = 2;
let b:number = 3;

import Person = require ('./mods/module-1');
Run Code Online (Sandbox Code Playgroud)

模块1.T

 export class Person {
  constructor(){
    console.log('Person Class');
  }
}
export default Person;
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
   "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "noImplicitAny": false,
        "sourceMap": true,
        "outDir": "scripts/"
    },
    "exclude": [
        "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

module typescript

76
推荐指数
11
解决办法
13万
查看次数

如何在 Electron 中正确使用 preload.js

我正在尝试fs在我的renderer流程中使用 Node 模块(在本例中为),如下所示:

// main_window.js
const fs = require('fs')

function action() {
    console.log(fs)
}
Run Code Online (Sandbox Code Playgroud)

注意:action当我按下main_window.

但这给出了一个错误:

Uncaught ReferenceError: require is not defined
    at main_window.js:1
Run Code Online (Sandbox Code Playgroud)

我可以解决这个问题,正如这个接受的答案所建议的那样,通过main.js在初始化时将这些行添加到我的main_window

// main.js
main_window = new BrowserWindow({
    width: 650,
    height: 550,
    webPreferences: {
        nodeIntegration: true
    }
})
Run Code Online (Sandbox Code Playgroud)

但是,根据 docs,这不是最好的做法,我应该创建一个preload.js文件并在那里加载这些 Node 模块,然后在我的所有renderer进程中使用它。像这样:

main.js

main_window = new BrowserWindow({
    width: 650,
    height: 550,
    webPreferences: {
        preload: path.join(app.getAppPath(), 'preload.js') …
Run Code Online (Sandbox Code Playgroud)

javascript node.js electron

66
推荐指数
3
解决办法
4万
查看次数

Atom Electron - 用javascript关闭窗口

我使用Electron(原原子壳层),并希望能有一个最低限度的框架窗口使三个OSX窗口按钮(关闭,最大化,最小化)来自可见范围内的HTML页面.

我将Electron选项设置framefalse在定义BrowserWindow具有无框无框窗口时.

我以为我可以用这样的东西来处理关闭按钮:

<a btn href="#" id="close" onclick="window.top.close(); return false"></a>
Run Code Online (Sandbox Code Playgroud)

遗憾的是没有运气.知道怎么做到这一点?

javascript electron

40
推荐指数
1
解决办法
6万
查看次数

在 Electron 应用程序中使用 require(lib) 与 &lt;script&gt;

我不知道何时在 Electron 内容页面(例如 index.html)中使用require('jslib')vs。<script src=""></script>使用jQuery,我发现它需要按如下方式加载:

<script>window.$ = window.jQuery = require('./js/jquery-2.2.4.min.js');</script>
Run Code Online (Sandbox Code Playgroud)

我需要开始使用其他一些库(例如 Handlebars、ds3.js、Bootstrap 等),但我不确定是否应该使用<script>标签加载这些库,或者是否应该加载require它们。

javascript require node.js electron

6
推荐指数
1
解决办法
2409
查看次数

如何在电子中使用 import 或 require

我正在尝试构建一个电子应用程序。我想从另一个js文件导入一些函数。但是在使用导入时我收到错误显示

无法在模块外部使用 import 语句为什么会发生这种情况

我的代码是 eventsource.js

import { sample } from './eventhandler'
console.log('inside eventsource');
function test(){
console.log('test function')
}
test();
sample();
Run Code Online (Sandbox Code Playgroud)

事件处理程序.js

export function sample(){
console.log('sample')}
Run Code Online (Sandbox Code Playgroud)

原型.html

<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8">
<title>sample</title>
<script type="module" src="../views/eventsource.js"></script>
</head>
<body class="content">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript node.js electron

5
推荐指数
1
解决办法
6795
查看次数

标签 统计

javascript ×5

electron ×4

node.js ×4

express ×1

module ×1

pug ×1

require ×1

sockets ×1

typescript ×1