草庐IT

npm-private-modules

全部标签

javascript - 测试 angularjs Controller 时 - 找不到变量 : module/inject by chutzpah

我有angularJsControllerangular.module('App.ctrl.guests',[]).controller('guestsController',['$scope','$http','$location','$timeout','guestsService',function($scope,$http,$location,$timeout,guestsService){$scope.tiles=[];}])和Jasmine测试////////////'usestrict';describe('App.ctrl.guests',function(){vars

javascript - 帮助在 node.js 中需要一个 npm 模块

我觉得我在这里缺少一些非常基本的东西......所以我使用npminstallsomelib安装了一个npm库。从我读过的内容来看,我应该能够简单地做一个varsomelib=require('somelib');但是它找不到任何东西。我的应用程序的根目录下确实有一个node_modules目录,但它似乎没有提取它。我尝试了require.paths.push('node_modules')但它没有帮助。唯一似乎有效的是:require.paths.unshift('.');varsomelib=require('node_modules/somelib/lib/somelib');这

javascript - 使用非模块的 npm 安装库

我正在从事一个需要WebGazer.js(https://webgazer.cs.brown.edu/)的项目。我很想以某种方式将这个库添加到package.json中,这样我的所有库都使用“npminstall”安装,而不必调用“npminstall”然后单独下载webgazer。无论如何,是否可以通过包含链接或类似性质的东西来做到这一点?我是npm的新手,所以我不知道从哪里开始,或者这是否可能。 最佳答案 npminstall仅适用于模块。但是,WebGazer有一个用于NPM的package.json,这就是你所需要的。(该模

javascript - 同时测试两个不同的 npm 包版本

当我创建一个npm包时,有时它会面临需要倒退旧的依赖包版本。如果新版本有新的api,我可能会这样写代码:importpkgfrom'some-pkg';constisNewVersion=pkg.newVersionApi!=='undefined';if(isNewversion){pkg.newVersionApi();}else{pkg.oldVersionApi();//backwardcompatibleapi}并且使用这种模式,当我想编写测试时,我只能测试已安装版本代码。无法测试其他版本的代码。举个真实的例子,在Reactv15和v16中,Reactv16有新的APIPor

javascript - 可以从函数原型(prototype)访问私有(private)构造函数范围的变量吗?

根据我对javascript的理解,原型(prototype)方法不能访问构造函数范围内私有(private)的变量,varFoo=function(){varmyprivate='Iamprivate';this.mypublic='Iampublic';}Foo.prototype={alertPublic:function(){alert(this.mypublic);}//willworkalertPrivate:function(){alert(myprivate);}//won'twork}这很有道理,但有没有什么安全且好的方法可以解决这个问题?由于使用原型(prototy

javascript - npm 安装了很多依赖

我最近买了一个HTML模板,它包含许多放在bower_components目录下的插件和一个package.js文件。我想安装另一个我喜欢的包,但决定为此目的使用npm。当我输入时:npc安装pnotifynode_modules已创建,其中包含约900个目录和其他包。那些是什么?为什么它们与我的包一起安装?我做了一些研究,结果发现这些是必需的,但实际上,我是否需要在生产中使用数百个不必要的包来交付我的模板? 最佳答案 这是一个很好的问题,有几点我想指出。V8引擎、Node模块(依赖项)和requireing它们Node.JS建立在

javascript - 为什么 Babel 7 不编译 node_modules 文件?

我在IE11SCRIPT1002中有错误:语法错误(类语法问题)。我的两行简单代码:import{struct}from'superstruct';console.log('finished');我不想让我的babel7将类编译成ES5代码我试过写.babelrc文件:{"presets":[["@babel/preset-env",{"targets":{"ie":"11"}}]]}和https://babeljs.io/docs/en/babel-plugin-transform-classes还没修好更新:我试过使用@babel/plugin-preset-es2015转换ES5

javascript - npm 关于回调错误的指南

我正在通读npm’scodingstyleguidelines并遇到了以下非常神秘的建议:Beverycarefulnevertoevereverthrowanything.It’sworsethanuseless.Justsendtheerrormessagebackasthefirstargumenttothecallback.它们到底是什么意思,如何实现这一行为?他们是否建议在自身内部调用回调函数?以下是我使用异步fs.readdir时的想法方法。fs.readdir('./',functioncallback(err,files){if(err){//throwerr//npm

javascript - ES6 类和 module.exports

最近我在nodeJS实现中看到了这种模式,其中我们的模块有以下代码:classFoo{bar(){console.log('bar');}}module.exports=Foo;然后当我做一个require最后说new来创建类的一个实例。varFoo=require(./foo);varmyFoo=newFoo();myFoo.bar();根据我的说法,这种模式将在每次调用时继续创建Foo类的多个实例。另一种模式可能是我在foo.js中习惯的模式。module.exports={bar:function(){console.log('bar');}};然后我只需要调用bar。varfo

javascript - 跳过 "npm version"命令中的预提交 Hook

npmversion将更改提交到package.json并创建一个标签。有没有办法防止在使用此命令时执行提交Hook? 最佳答案 不知道为什么这个功能以前在npm中不存在,但我不久前贡献了它,因为我自己需要它。它随npm@5.4.0一起发布。要使用它,请在您的.npmrc中设置配置选项commit-hooks=false并且底层的git调用将不会在创建时运行提交Hook版本提交。如果您只想在单个版本控制上禁用提交Hook,您可以运行类似于:npmversion--no-commit-hooksminor或者:npmversion--