我有一个名为的独立节点脚本compile.js.它位于一个小型Express应用程序的主文件夹中.
有时我会从命令行运行compile.js脚本.在其他情况下,我希望它由Express应用程序执行.
两个脚本都从中加载配置数据package.json.Compile.js目前不导出任何方法.
加载此文件并执行它的最佳方法是什么?我已经看过了eval(),vm.RunInNewContext和require,但不知道什么是正确的做法.
谢谢你的帮助!!
我想在Bash中这样做:
我一直在玩find命令,但有点困惑.有什么建议?
我使用EJS模板设置了Express.js应用程序.我用经典的JS语法成功地循环了一个数组:
<% for (var i = 0; i < myArray.length; i++) {
this = myArray[i];
// display properties of this
} %>
Run Code Online (Sandbox Code Playgroud)
但我想知道,有更清洁的方法吗?
具体来说,我可以使用Underscore或Lodash来循环使用.each吗?谢谢
这是一个奇怪的问题.我手动构建一个对象数组,如下所示:
$pages_array[0]->slug = "index";
$pages_array[0]->title = "Site Index";
$pages_array[0]->template = "interior";
$pages_array[1]->slug = "a";
$pages_array[1]->title = "100% Wide (Layout A)";
$pages_array[1]->template = "interior";
$pages_array[2]->slug = "homepage";
$pages_array[2]->title = "Homepage";
$pages_array[2]->template = "homepage";
Run Code Online (Sandbox Code Playgroud)
我喜欢这是多么明确,但因为我必须指定索引号,所以我不能轻易地重新排列它们.如果没有索引号怎么办呢?相关的,有什么更好的方法呢?
我也尝试通过创建一个类来编写它,并让数组上的每个点都是该类的实例.但由于这是一个配置文件,因此很难阅读并知道参数是什么参数.这就是我选择上述老式方法的原因.
任何想法都非常感谢!
我的默认终端颜色是灰色,没关系.
我的bash提示显示了一堆颜色,这很好用:
PS1="${COLOR_RED}\u${COLOR_WHITE}@${COLOR_RED}${COMPUTERNAME} ${COLOR_BLUE}\w${GITPROMPT} ${COLOR_RESET}"
Run Code Online (Sandbox Code Playgroud)
参见示例:http://cl.ly/image/002f210X1f1u
但是我在输入结束时输入的文字是灰色的.我希望它是白色的(ANSI代码"[37m").
如果我在提示的末尾添加COLOR_WHITE而不是COLOR_RESET,则默认的终端颜色会变为白色,直到重置为止.这会产生一些灰色文本的奇怪效果,顶部会出现一些白色文字.
请参阅问题示例:http://cl.ly/image/1Z3g3v0e083B
如何将Bash提示符的"输入文本"颜色更改为终端默认颜色以外的其他颜色?谢谢你的任何建议!
我有一个输入元素,附加了2个事件:焦点和单击.他们都启动了相同的辅助功能.
当我选择输入时,焦点事件触发,我的助手运行一次.没有问题.
当元素已经有焦点,然后我再次点击它时,click事件将触发,我的助手将运行一次.那里也没问题.
但是当元素没有焦点时,我点击它,两个事件都会触发,我的助手会运行TWICE.如何让这个助手只运行一次?
我在这里看到了几个类似的问题,但并没有真正按照他们的答案.我还发现了.live jQuery处理程序,如果我让它看一个状态类,它似乎可以工作.但似乎应该有一个更简单的方法..one处理程序可以工作,除了我需要多次工作.
谢谢你的帮助!
我有一个模块.在其中,我想从我父应用程序的package.json文件中访问数据.这样做的最佳做法是什么?
我通过上升2级并需要文件(或使用nconf配置加载器)来做到这一点.
var appdir = path.resolve(__dirname, '../../');
nconf.file('app', path.join(appdir, 'package.json'));
Run Code Online (Sandbox Code Playgroud)
但这似乎很容易破裂.
我也听说过pkginfo,它会自动从我自己的模块的package.json中获取信息,但我希望从父应用程序中获取数据.
谢谢你的帮助!
编辑:我想另一种问的方式是,我如何获得应用程序的路径(而不是模块路径)?
什么是更好的做法,这个:
myArray.forEach(function(item)) {
doSomething(item);
function doSomething(an_item) {
console.log(an_item);
}
}
Run Code Online (Sandbox Code Playgroud)
或这个:
myArray.forEach(function(item)) {
doSomething(item);
}
function doSomething(an_item) {
console.log(an_item);
}
Run Code Online (Sandbox Code Playgroud)
第一个示例是创建函数的多个实例,还是仅在第一次创建循环时创建它?
感谢您的任何见解!
我有一个带有生产 Dockerfile 的应用程序,它将我们的源代码复制到容器中,即:
COPY . /app
我想将此副本设置为有条件的,以便传入CONTEXT=环境变量来阻止/允许该行执行。那可能吗?
我在这里看到了相关帖子,但没有明确的答案。谢谢!
我正在构建我的第一个真正的 Express.js 应用程序,但陷入了路由困境。
我正在启用静态托管:
app.use("/", express.static("public"));
Run Code Online (Sandbox Code Playgroud)
然后我有一个通配符路线:
router.get("/:page", function(req, res) {
// do stuff
});
Run Code Online (Sandbox Code Playgroud)
该路线与我想要的“ /about”和“ ”等网址匹配。/contact但它似乎也在尝试匹配“ /style.css”和其他静态资源文件 - 这是不必要的。
如何使该通配符与资产文件不匹配?
我正在研究我的第一个Node.js模块,并且必须执行常见的实用程序,例如检查类型,循环等.
这些东西的原生JS非常难看.Underscore.js使其更具可读性并且还增加了许多新功能.但是,如果我不需要新的东西,我应该使用下划线还是只是这么做?
谢谢!
我想用猫鼬做一个复杂的和/或查询。这是一些伪代码,显示了我正在尝试做的事情:
Find persons where (
(date_begin == null || date_begin <= today)
&& (date_end == null || date_end >= tomorrow)
)
Run Code Online (Sandbox Code Playgroud)
这是我对真正的 Mongoose 代码的失败尝试:
query = Person
.find()
.where('date_begin').equals(null).or.where('date_begin').lte(today)
.where('date_end').equals(null).or.where('date_end').gte(tomorrow)
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激!(仅供参考,今天和明天都很好,这是我要问的猫鼬语法。)