草庐IT

npm-private-modules

全部标签

javascript - 无论如何让实例共享相同的功能但同时具有私有(private)变量?

我有这段代码:varHuman=function(name){this._name=name;};Human.prototype.Shout=function(){alert(this._name);};vartom=newHuman("tom");varjohn=newHuman("john");alert(tom.Shout===john.Shout);现在._name不是“私有(private)的”。我想将._name设为“私有(private)”,但同时我不希望为每个Human实例创建附加函数(换句话说,tom.Shout必须===tojohn.Shout),因为为创建附加函数

Javascript Revealing Module 模式 - 在函数返回后公开初始化变量

我一直在大量使用JavascriptRevealingModule模式,我喜欢它在公共(public)接口(interface)和内部之间的清晰分离。然而,我一直遇到这样一种情况,这让我想知道我的整体使用模式是否正确,或者我是否应该使用该模式的一些变体。问题在于,当传递到模块的init函数中并私下存储供内部使用的某些内容也需要在Knockout绑定(bind)表达式或其他模块中公开时。模块的返回语句立即执行,稍后调用init函数,通常传递一些动态参数,例如AjaxURL或在RazorView中的脚本block中呈现的原始JSON。因为模块的return语句只返回私有(private)变

javascript - JQuery源代码中的 'module'和 'define'是什么?

我试图阅读和理解jQuery的源代码。但我找不到有关以下部分的任何信息。我试图理解它旁边的评论,但无法从中获得任何有用的含义。if(typeofmodule==="object"&&module&&typeofmodule.exports==="object"){//ExposejQueryasmodule.exportsinloadersthatimplementtheNode//modulepattern(includingbrowserify).Donotcreatetheglobal,since//theuserwillbestoringitthemselveslocally,

javascript - NPM 不工作(找不到模块 'internal/fs' - nodejs)

更新时出现NPM错误。我最近更新到Node版本7.x。现在npm不工作了。我无法定位错误,可能是因为-npm错误!找不到模块“internal/fs”。当我运行sudonpmupdate-g-时,我得到以下信息npmERR!Linux3.13.0-101-genericnpmERR!argv"/usr/bin/nodejs""/usr/bin/npm""update""-g"npmERR!nodev7.1.0npmERR!npmv3.10.8npmERR!codeMODULE_NOT_FOUNDnpmERR!Cannotfindmodule'internal/fs'npmERR!npm

javascript - 在仅 nodejs 环境中的 ES6 模块/类中定义 'real' 私有(private)方法,没有任何信息泄漏

我知道没有REAL私有(private)方法INSIDEES6类。然而,我玩了一会儿,发现了一些好东西——也许……正如我提到的,不公开对象的属性是不可能的。但是我试图实现一些OOP编程,因为我将我的类分成单独的文件,然后导出这些类,如:classMyClass{constructor(){/***Initializestuff...*/}myMethod(){/***Dopublicstuff...*/}}//exposeclasstoenvironment.exportdefaultMyClass;所以我可以导入类:从'./MyClass.js'导入MyClass;当然myMetho

javascript - @private 注释在 Google Closure JavaScript 代码中实际上做了什么?

当我用@private在我的变量或函数上方添加注释时,它实际上在做什么?我已经查看了文档,但我仍然不确定。goog.provide('myproject');/**@private*/myproject.foo="bar";打开chrome的开发工具(myproject.foo)还是可以访问的。还有……goog.require('myproject');window.addEventListener('load',function(){//thisworks.document.body.textContent=myproject.foo;});即使在编译时,上面的代码仍然将正文text

javascript - 使用 NPM 重命名文件

有没有办法在npm脚本中重命名单个文件?我想准备要分发的文件,但我需要构建的文件与源文件中的命名不同...我已经尝试过orn,但它似乎只能在命令行上运行,而不是作为npm脚本运行。我特别希望添加一个跨平台依赖项来完成我的项目,而不是编写我自己的javascript脚本来复制文件。我理想的解决方案是我可以将其作为单行命令包含在package.json中,例如重命名旧文件名新文件名 最佳答案 当然。npmscript可以运行任何你想要的nodejs文件。例如:require('fs').rename(oldPath,newPath)更多

javascript - 错误 : Cannot find module "rxjs/operators" in Ionic Angular

我正在尝试运行我的Ionic项目。几天前它工作正常,现在我无法运行它,无论我做什么。这个错误出现了!我尝试从package.json和node_modules中删除Rxjs,还注释掉了我使用Rxjs的所有地方,仍然出现此错误。在Ubuntu16.04中尝试使用Node8.9.0和npm4.5.0。也试过同样的在windows中运行还是显示同样的错误!我该如何解决这个问题? 最佳答案 尝试重新安装5.5.3或更高版本的rxjsnpminstall@reactivex/rxjs@5.5.3这个问题似乎在5.5.3版本中得到修复https

javascript - AWS Lambda执行环境预装了哪些NPM模块?

最近发现AWSLambdanodejs8.10预装了aws-sdkNPM模块。我在互联网上找不到任何关于它的信息。AWSLambda中预装了哪些其他node.js模块? 最佳答案 仅预安装了aws-sdk软件包。所有其余的都从“node_modules”目录加载..您可以在这里找到相关信息:https://docs.aws.amazon.com/lambda/latest/dg/nodejs-create-deployment-pkg.html 关于javascript-AWSLambd

javascript - JavaScript 中的私有(private)函数

在基于jQuery的Web应用程序中,我有各种脚本,其中可能包含多个文件,我一次只使用其中一个(我知道不包含所有文件会更好,但我只是负责对于JS,所以这不是我的决定)。所以我将每个文件包装在一个initModule()函数中,该函数注册各种事件并进行一些初始化等。现在我很好奇以下两种定义函数的方式之间是否存在任何差异而不会使全局命名空间困惑:functioninitStuff(someArg){varsomeVar=123;varanotherVar=456;varsomePrivateFunc=function(){/*...*/}varanotherPrivateFunc=func