所以,我正在用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文件(例如)中调用这些函数?
尝试按照官方手册实现模块,我收到以下错误消息:
未捕获的ReferenceError:未定义导出
在app.js:2
但我的代码中没有任何地方使用该名称exports.
我怎样才能解决这个问题?
let a = 2;
let b:number = 3;
import Person = require ('./mods/module-1');
Run Code Online (Sandbox Code Playgroud)
export class Person {
constructor(){
console.log('Person Class');
}
}
export default Person;
Run Code Online (Sandbox Code Playgroud)
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": true,
"outDir": "scripts/"
},
"exclude": [
"node_modules"
]
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试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) 我使用Electron(原原子壳层),并希望能有一个最低限度的框架窗口使三个OSX窗口按钮(关闭,最大化,最小化)来自可见范围内的HTML页面.
我将Electron选项设置frame为false在定义BrowserWindow具有无框无框窗口时.
我以为我可以用这样的东西来处理关闭按钮:
<a btn href="#" id="close" onclick="window.top.close(); return false"></a>
Run Code Online (Sandbox Code Playgroud)
遗憾的是没有运气.知道怎么做到这一点?
我不知道何时在 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它们。
我正在尝试构建一个电子应用程序。我想从另一个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 ×5
electron ×4
node.js ×4
express ×1
module ×1
pug ×1
require ×1
sockets ×1
typescript ×1