问题标签 [mimosa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1705 浏览

javascript - node.js 服务器泄漏 TCP 连接?

注意:请参阅帖子末尾的我的编辑。

我有一个 node.js (Express) 服务器,每秒处理大约 15-30 个请求。我正在为一组简单的 JADE 模板和一个 Durandal SPA 应用程序提供服务,其中大部分请求都是针对简单 JADE 模板的。几分钟后一切正常,但是服务器在一段时间后开始出现 EMFILE 错误并最终崩溃。经过一番故障排除后,我发现lsof -i -n -P | grep node一段时间后的输出包含大量此类行:

我是 node.js 的初学者,但它似乎无法关闭已经完成的连接,最终导致 EMFILE 和崩溃。

我已经尝试了以下方法:

  • ulimit -n 2048:这显然是一个临时解决方案,它会延迟 EMFILE 错误但不能解决问题
  • 将响应超时(默认为 2 分钟,如果我没记错的话)降低到接近 5-10 秒

通过这两项调整,服务器崩溃的时间要长得多,但最终还是会崩溃。即使没有任何负载,它似乎也无法处理“卡住”的 TCP ESTABLISHED 连接,并且当请求再次开始到达时,打开的文件描述符的数量不断增加并最终导致进程崩溃。

我的 node.js 服务器(在 coffeescript 中)看起来像这样(我正在使用mimosa来启动服务器,但我认为它应该没有任何区别):

我认为 node.js 服务这么多请求应该没有任何问题,所以我认为这是我的错误配置或类似的东西。我做错了什么?谢谢!

PS:出于隐私考虑,我从代码/输出中删除了一堆东西lsof,也因为它应该与问题无关;但是,如果需要任何其他信息,我会尽快更新问题以提供。

编辑:我想我找到了问题的根源。Express 用于提供服务的连接./my/template/n2确实在 10 秒后超时,但是用于express.static提供图像、css 和其他静态资源的连接却没有(它们确实如此,但它们需要 2-5 分钟才能释放它们的文件描述符.. .)。我想我的问题然后归结为:如何为所服务的文件设置响应超时express.static?我尝试app.use express.timeout(10000)在所有其他中间件之前使用,但它似乎只适用于主要 JADE 文件而不适用于图像或 css。

我正在使用 Express 3。再次感谢您。

0 投票
1 回答
134 浏览

twitter-bootstrap - 在 Mimosa 中自定义无引导文件的最佳方法是什么?

我正在做一个项目,我必须自定义引导较少的文件。我想出了一种方法来使用 mainOverRide 和复制排除来处理 Mimosa。但它相当草率。

这是配置

这会将引导较少的文件复制到我的 css/vendor/bootstrap

然后我所做的就是将我的自定义 less 文件放入 css 目录中,例如:custom.less 或 variables.less。然后我去编辑 bootstrap.less 文件以导入我的新自定义文件。

所以我的问题是......有没有更好的方法?我觉得这有点草率。我觉得好像我错过了一种使用 Mimosa 使用自定义引导文件的更简单方法。

0 投票
1 回答
81 浏览

node.js - 启动节点 JS 服务器时,如何检测它是否是使用 mimosa watch -s 启动的

我有一个用 node.js 编写的 server.js 文件

我可以用 ... node server 启动服务器

或者我可以从 ... mimosa watch -s 开始

在我想做的 server.js 文件中...

我怎么能检测到这个?请不要回答诸如...你为什么要这样做?

目前我只能检测...

问题是...... thisIsMimosa 没有及时设置,因此当“节点服务器”用于启动服务器时,没有进行节点 startServer 调用。

如果有人知道一个变量,如果 mimosa 用于启动服务器,则该变量的值会有所不同,那么我可以依赖它。

提前谢谢了。

0 投票
1 回答
80 浏览

node.js - Mimosa csslint configuration not being picked up from csslintrc file

I have created a .csslintrc file in my Mimosa project as documented in mimosa-config-documented.coffee

I have also created a .jshintrc file

The css lint file IS NOT being picked up The JS hint file IS being picked up

This is confirmed when I run ... mimosa watch -sD (debug mode)

Changing CSS lint rules in mimosa-config-documented.coffee doesn't work either

Does anyone know how to adjust CSS lint rules for Mimosa? I find the mimosa-csslint module great but some of the rules are overly restrictive and i need to turn some off

If anyone can help it would be amazing - thanks No skeleton projects seem to cover this :(

0 投票
1 回答
36 浏览

mimosa - 使用含羞草可以分离凉亭资产吗?

含羞草提供了目录结构...

  • 资产(watch.sourceDir)
  • assets/javascripts (bower 安装到这里的供应商目录)
  • 上市

从 mimosa-config.coffee 中提取...

是否可以使用以下结构?...

  • 资产
  • bower(仅包含供应商资产)
  • 公共(将在构建中包含资产和凉亭)

还是建议的“凉亭”目录必须与 watch.sourceDir 相关?是否有任何已知的解决方法?我应该避免变通办法吗?

非常感谢任何帮助 - 非常感谢

PS 这是我的雇主希望采用的结构

0 投票
1 回答
39 浏览

karma-runner - 含羞草业力配置

使用含羞草我试图在 karma.conf.js 中设置https://github.com/karma-runner/karma-ng-html2js-preprocessor ...

但我明白了.. 预处理器“Ng-html2js”未注册

我注意到在...

\node_modules\mimosa-karma\node_modules\karma\lib\preprocessors

只列出了 4 个预处理器,而我想要的那个不存在。

有谁知道我如何让 mimosa-karma 识别这个预处理器?

谢谢

0 投票
2 回答
67 浏览

coffeescript - How to pass a variable to coffeescript depending on build profile in mimosa

I have a typical mimosa front-end project with coffeescript for scripting. I want a certain variable (api path) to have different values, depending on build profile (dev or prod). How can I achieve this in mimosa?

Example of what I want:

prod.coffee:

dev.coffee:

api-accessor.coffee

0 投票
1 回答
2289 浏览

angularjs - 将所有 Angular 模板编译成一个 js 文件

我正在尝试将所有 angulara 模板编译成一个 js 文件。类似于 ember 对 ember-cli 所做的事情。

所以我成功地缩小并连接了所有的 javascript 文件。我现在只有 2 个文件 vendor.js 和 application.js 以及我想塞进 templates.js 的大量模板文件。

我该怎么做?如果有人可以逐步解释,请。任何链接也将不胜感激。令人惊讶的是,任何地方都没有这方面的信息。

我使用含羞草作为构建工具,对我来说这似乎是最简单的。这是我的含羞草配置:

它确实生成 templates.js 文件而没有任何错误。但是当我链接它时,角度会吐出一堆错误。

编译后,我如何实际从 ng-include 和路由提供程序调用这些模板?我假设它与使用 id 调用脚本模板相同,在我的情况下,id 是从模板原始文件名派生的,对吗?也许我错过了一些重要的步骤。

构建工具在这里并不重要,尽管是可取的。如果有人可以展示如何在没有构建工具的情况下手动完成它,我会弄清楚其余的。

谢谢。