Tag:

package.json中的依赖项是什么 – nodejs

在我的节点projcet我build立独立的模块与main.js文件夹作为入口点,并find该模块与不同的文件相同的文件夹助手。 Ex: Aggregator: |___package.json |___main.js |___node_modules |_____helper1.js |_____helper2.js 因此,节点将从本地node_modules文件夹parsing所有我的助手对模块的依赖关系[例如:Aggregator]。 上述结构的原因是,我不需要关心需求的path 我使用package.json来指定入口点是main.js incase require是为Aggregator Ex: //Sample.js require('Aggregator'); // Resolves to Aggregator/main.js 例如:Aggregator模块的package.json { "name": "Aggregator" , "description": "Returns Aggregates" , "keywords": ["aggregate"] , "author": "Tamil" , "contributors": [] , "dependencies": { "redis": "0.6.7" } , "lib" : "." , "main" : "./main.js" , "version" : "1.0" […]

Webpack – 没有输出文件,没有错误报告

我正在学习Webpack,并一次又一次地通过它。 在最新版本中,有一些非常奇怪的事情发生。 CLI报告一切正常&输出文件dress_aphrodite.js被emitted ,但无处可查找文件夹中。 这里是日志:从CLI: http://localhost:8080/webpack-dev-server/ webpack result is served from /app/ content is served from ./app Hash: 5334867c12acfa65ba90 Version: webpack 1.12.9 Time: 1966ms Asset Size Chunks Chunk Names dress_aphrodite.js 390 kB 0 [emitted] main dress_aphrodite.js.map 479 kB 0 [emitted] main chunk {0} dress_aphrodite.js, dress_aphrodite.js.map (main) 354 kB [rendered] [0] multi main 52 bytes {0} […]

在npm发布上更改根目录

我可以在发布时更改Node.js npm包的根目录吗? 我拥有的是以下内容: ├── lib ├── package.json ├── .npmignore ├── src │ ├── index.js │ └── sub │ └── mymodule.js └── test In /src是我所有的ES2015源代码。 我用Babel将其转录到我的/lib目录中。 我的package.json的main指向lib/index.js 。 之后,我可以做一个npm publish (我的.npmignore设置为src所以只有lib将被发布)。 现在我的包被部署到npmjs.com,在另一个包中,我可以用import index from 'mypackage'来导入它。 到现在为止还挺好。 但是如果我想直接导入sub/mymodule.js呢? 我必须import mymodule from 'mypackage/lib/sub/mymodule'编写import mymodule from 'mypackage/lib/sub/mymodule' 。 我真正想要的是import mymodule from 'mypackage/sub/mymodule'没有/lib/在我的path中import mymodule from 'mypackage/sub/mymodule' 。 我怎样才能做到这一点? npm文档中提到了我可以在package.json设置的directories.lib ,但它似乎会被完全忽略。 […]

最佳的JavaScript包装大小

当您为页面提供JavaScript时,最好提供一个打包缩小的gzip文件,以减less延迟和请求时间。 但发送更好吗? 整个网站的一大包装 网站中每个页面的一大包装。 CDN我不想从CDN加载 随着1.你得到加载更多的初始负载,然后所有的JavaScriptcaching整个访问您的网站。 使用2.你只需要加载一个页面,所以初始加载时间减less了,但是你没有在你的网站的每个页面上caching相同的文件。 哪种方法是首选? 我正在使用node.js来服务我的JavaScript,我正在使用ender打包我的JavaScript。 编辑 换言之,我正在考虑在包装上​​实现自动化。 这种自动化将把所有文件打包成整个网站的一个文件,或者把每个页面的特定文件列表打包成一个文件。 我还没有关于JavaScript文件的任何统计数据,但我很好奇我应该实现哪两种自动化。

在客户端使用npm包

有没有一种方法可以在客户端使用npm包? 例如,我想在我的客户端JavaScript文件中使用dateformat ( https://www.npmjs.com/package/dateformat )包

Nodejs / npm:如何重新安装/重新编译复制的应用程序包

build立: 具有互联网连接的VM将执行npm install以安装所有的应用程序依赖项。 结果将是一个包含应用程序及其在node_modules依赖项的文件夹。 应用程序模块之间是fi: mongoose ,在安装时使用node-gyp编译本机BSON扩展。 应用程序文件夹被复制到另一个没有互联网连接的虚拟机,它是完全正常的,但是然后编译的扩展不工作,但它的.js后备呢。 题: 如何在没有Internet连接的情况下重新安装/重新编译/重新生成新VM上的所有应用程序模块?

捆绑模块NODE.JS

ASP.NET MVC 4带来了一个惊人的工具,将多个样式表或JavaScript绑定到一个像这样的样子: bundles.Add(new StyleBundle("~/Content/themes/base/css").Include( "~/Content/themes/base/jquery.ui.core.css", "~/Content/themes/base/jquery.ui.datepicker.css", "~/Content/themes/base/jquery.ui.theme.css")); NODE.JS是否有任何模块来完成相同的任务 – 将客户端 JavaScript库合并为一个? 我见过像browserify,uglifier等工具,但这些需要手动调用控制台命令(或者我可能错过了什么?)。 与此同时,消除这个过度的步骤并且拥有可以很容易地集成到express.js应用程序中的中间件是很好的。

npm安装许多依赖项

我最近买了一个HTML模板,里面包含了很多插件,放在bower_components目录里面,还有一个package.js文件。 我想安装另一个我喜欢的软件包,但是决定使用npm来达到这个目的。 当我input: npc install pnotify 包含约900个目录的node_modules已经被创build。 那些是什么? 为什么他们随我的包一起安装? 我做了一些调查,结果发现那些是需要的,但是真的,我是否需要在生产中提供我的模板,并且有数百个不必要的软件包?

Node.js:获取已安装的npm包的(绝对)根path

任务 我正在寻找一种通用的方式来获取Node.js中安装的npm包的(绝对)根path。 问题 我知道require.resolve ,但是这会给我入口点(主模块的path),而不是包的根path。 以bootstrap-sass为例。 说它在本地安装在项目文件夹C:\dev\my-project 。 那么我在找的是C:\dev\my-project\node_modules\bootstrap-sass 。 require.resolve('bootstrap-sass')将返回C:\dev\my-project\node_modules\bootstrap-sass\assets\javascripts\bootstrap.js 。 我可以想到如何获取包的根path的几种方法: 解决scheme#1 var packageRoot = path.resolve('node_modules/bootstrap-sass'); console.log(packageRoot); 这对在本地安装在node_modules文件夹中的软件包工作正常。 但是,如果我在一个子文件夹中,我需要parsing../node_modules/bootstrap-sass ,并且嵌套更多的文件夹会变得更复杂。 另外,这对全球安装的模块不起作用。 解决scheme#2 var packageRoot = require.resolve('bootstrap-sass') .match(/^.*[\/\\]node_modules[\/\\][^\/\\]*/)[0]; console.log(packageRoot); 这将适用于安装在node_modules文件夹中的本地和全局模块。 正则expression式将匹配最后一个node_modulespath元素和下面的path元素。 但是,如果一个包的入口点被设置为另一个包(例如package.json "main": "./node_modules/sub-package" ),则这将失败。 解决scheme#3 var escapeStringRegexp = require('escape-string-regexp'); /** * Get the root path of a npm package installed in node_modules. * […]

如何在没有Typescript / TSD定义的情况下将库导入节点?

我正在尝试使用一个名为connect-session-knex的会话助手,它足够隐晦,它没有发布的打字稿定义。 所以当我尝试编译我的脚本节点项目,我得到的错误, error TS2307 Cannot find module 'connect-session-knex' 有没有办法忽略这个模块的TS? 如何在没有TSD的情况下导入? 我知道knex有一个tsd,但包装不。 我从一个普通的观点来问,如何处理没有types定义的库。 对于任何人看:编译打字稿,当它没有tsd。 缺lesstsd。 没有tsd。