Articles of 模块

如何使用Array.prototype.map()方法内的模块?

我试图调用一个名为“module.js”的包中定义的方法out() 。 为此,我使用variablesmyModule = require('./module.js') 。 我调用myModule.out()'没有问题,除非我在Array.prototype.map()方法中调用它。 我的代码如下所示: var myModule = require('./module.js'); myModule.out(); console.log('still ok') // still ok var p = [foo, bar]; p.map(function(){ console.log('still ok'); // still ok myModule.out(); }) 此代码返回给我: ReferenceError:myModule未定义 我试图重新定义myModule里面的callback函数,但我有以下几点: 错误:找不到模块'./module.js 任何关于我失踪的想法? 谢谢。

安装npm模块时,权限被拒绝

当我尝试安装npm模块时,出现奇怪的权限错误。 我开始与sudo所以我确定我有访问,但由于某种原因,它不断抱怨一个错误: 堆栈错误:EACCES:权限被拒绝,mkdir'/ usr / lib / node_modules / joplin / node_modules / sqlite3 / build' 我已经尝试重新启动我的电脑,并创build一个目录/usr/lib/node_modules/joplin与chmod 777,但它仍然无法正常工作。 $ sudo npm install -g joplin /usr/bin/joplin -> /usr/lib/node_modules/joplin/main.js > sqlite3@3.1.9 install /usr/lib/node_modules/joplin/node_modules/sqlite3 > node-pre-gyp install –fallback-to-build node-pre-gyp ERR! Tried to download(undefined): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.9/node-v48-linux-x64.tar.gz node-pre-gyp ERR! Pre-built binaries not found for sqlite3@3.1.9 and node@6.11.2 (node-v48 ABI) (falling back […]

如何导出asynchronous函数?

以下是我的代码 – abc.js class abc { async foo1() { // do something return result; } async foo2() { // do something return result; } module.exports = abc } 另外,file.js const abc = requir(./abc); abc.foo1(); // this results in error // TypeError : abc.foo1 is not a function 我应该怎么做?

React.js:在组件中使用节点js模块?

在我的组件我需要一个模块ipcRenderer。 我试图得到它: const {ipcRenderer} = require('electron') console.log(ipcRenderer) 但结果是: [1] ERROR in ./node_modules/electron/index.js [1] Module not found: Error: Can't resolve 'fs' in 'C:\Users\steko\Desktop\DEV\crab\node_modules\electron' [1] @ ./node_modules/electron/index.js 1:9-22 [1] @ ./src/components/PageCatalogLinks.jsx [1] @ ./src/components/ContentBlock.jsx [1] @ ./src/index.jsx 怎么修? 我试图添加一个模型FS,但他已经是。

javascript:ReferenceError:导出未定义

es6 / Babel:我的文件夹看起来像这样: A/ index.js a.js …other 我通过index.js文件公开a.js内容如下: export { foo, bar } from './a'; 这样我就可以使用以下方式导入它: import { foo, bar } from '../A'; 但是现在,我想在index.js使用* ,以便万一从a.js导出另一个东西,它会自动显示出来: export * from './a'; 但是当我这样做,我得到这个错误: Uncaught ReferenceError:未定义导出 我在这里做错了什么?

CommonJS模块没有设置variables的值?

我在主文件中的init()函数工作得很好,但是当我把它放入一个单独的模块并且需要它时,显然它停止工作。 我在控制台中得到这个错误 Uncaught TypeError: Failed to set the 'value' property on 'AudioParam': The provided float value is non-finite. 看起来这可能是它的同步问题? 我怎样才能解决这个问题? //init.js file var initt = function () { octaveNumber = document.getElementById("octaveNum"); audioCtx = new (window.AudioContext || window.webkitAudioContext); osc = audioCtx.createOscillator(); volume = audioCtx.createGain(); filter = audioCtx.createBiquadFilter(); osc.connect(filter); volume.connect(audioCtx.destination); booleanVal = false; osc.frequency.value = dial.value osc.start(); […]

要求“d3-select-multi”作为节点模块不工作

我通过npm安装了d3,并直接要求在我的脚本中(出于某种原因) 所以: npm install d3 接着 var d3 = require("d3"); 工作正常。 现在的问题是,我需要“d3select多”模块。 我也通过npm安装它 npm install d3-selection-multi 在d3-Doku我读,你可能需要不同的模块,如: var d3 = Object.assign({}, require("d3-format"), require("d3-geo"), require("d3-geo-projection")); 我改变了我的需要,这将是有标准的D3包(工作已经上面),并添加D3select多。 var d3 = Object.assign({}, require("d3"), require("d3-selection-multi")); 那不行。 所以我通过打印出结果对象来testing它: console.log(d3) 结果是正确的: {version: "4.11.0", bisect: ƒ, bisectRight: ƒ, bisectLeft: ƒ, ascending: ƒ, …} 但是“d3-selection-multi”模块不存在。 我可以看到,因为它不能识别d3.selectAll().styles作为函数。 我尝试了以下:而不是 var d3 = Object.assign({}, require("d3"), require("d3-selection-multi")); […]

如何通过NodeJS中的string“foo”访问函数“foo”?

即什么是浏览器的“窗口”对象的顶级function所附加的相当于什么? 以下代码在REPL中成功: var assert = require('assert'); function foo() { }; assert.ok(foo == this["foo"]); 然而,在脚本(或模块)中失败 – 在这两种情况下,“this”是一个空对象。 我想知道这个,所以我可以轻松地导出模块的命名空间中可见的所有function – 我想能够做到这样的事情: function foo() { }; function bar() { }; ["foo", "bar"].forEach(function (k) { exports[k] = ???; }); ( eval(k)适用于???,但是,呃。)

在所有Node应用程序上扩展Object.prototype.myNewMethod

我刚刚开始在NodeJs,所以我不知道这是否是一个很好的做法,对不起 我有我的对象实现添加一个合并方法,我创build的所有对象,所以我可以合并到一个不同的对象。 Object.prototype.merge = function(source){ //…my code here return this; } 所以我想知道如何让我的Node应用程序中的所有模块都可用? 我已经阅读了这本优秀的书 ,我可以为它创build一个模块 ,然后调用utils.merge(obj1, obj2) 。 但即使如此,我宁愿继续使用我的对象的实现,而只是调用obj1.merge(obj2) 有没有办法做到这一点? 提前致谢

如何正确组织node.js模块

我目前正在学习node.js。 我想创build一个名为“bio”的模块,其中包含一些本地C ++扩展和一些JavaScript代码。 我已经生成了一个简单的“package.json”文件,在根目录下有npm init ,在src /文件夹中有我的c ++源。 C ++文件被编译为/build/extension.node。 /package.json /build/extension.node /src/extension.cpp 我应该把JavaScript文件放在哪里? 我应该如何告诉node我的JavaScript文件是“生物”包的一部分? 我应该如何设置$NODE_PATH ? 谢谢