我正在使用NodeJS的ExpressJS Web框架.
使用ExpressJS的人将他们的环境(开发,生产,测试......),他们的路线等放在了app.js.我认为这不是一个很好的方式,因为当你有一个很大的应用程序时,app.js太大了!
我想有这个目录结构:
| my-application
| -- app.js
| -- config/
| -- environment.js
| -- routes.js
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
app.js
var express = require('express');
var app = module.exports = express.createServer();
require('./config/environment.js')(app, express);
require('./config/routes.js')(app);
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
配置/ environment.js
module.exports = function(app, express){
app.configure(function() {
app.use(express.logger());
});
app.configure('development', function() {
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
});
app.configure('production', function() {
app.use(express.errorHandler());
});
};
Run Code Online (Sandbox Code Playgroud)
配置/ routes.js
module.exports = function(app) {
app.get('/', function(req, res) {
res.send('Hello world !');
});
};
Run Code Online (Sandbox Code Playgroud)
我的代码运行良好,我认为目录的结构很漂亮.但是,代码必须进行调整,我不确定它是好还是漂亮.
使用我的目录结构并调整代码或只使用一个文件(app.js)更好吗?
谢谢你的建议!
我无法将我的内容集中在引导程序导航栏中.我正在使用bootstrap 3.我读了很多帖子,但是使用的CSS或方法不能用于我的代码!我真的很沮丧,所以这就像我的最后一个选择.任何帮助,将不胜感激!
<!DOCTYPE html>
<html>
<head>
<title>Navigation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="css/style.css" rel="stylesheet" media="screen">
</head>
<body>
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li><a href="#">Link</a></li> …Run Code Online (Sandbox Code Playgroud) 关于std命名空间使用'using'似乎有不同的看法.
有人说使用' using namespace std',其他人说不要,而是先加上与' std::' 一起使用的std函数,而其他人则说使用这样的东西:
using std::string;
using std::cout;
using std::cin;
using std::endl;
using std::vector;
Run Code Online (Sandbox Code Playgroud)
对于要使用的所有std函数.
各自的优点和缺点是什么?
在过去的几周里,有些东西正在困扰我的大脑虚拟和覆盖.我已经了解到,当你使用虚函数进行继承时,你必须添加virtual以让编译器知道搜索正确的函数.之后我还了解到在c ++ 11中有一个新关键字 - 覆盖.现在我有点困惑; 我是否需要在程序中同时使用虚拟和覆盖关键字,或者最好只使用其中一个?
为了解释自己 - 我的意思的代码示例:
class Base
{
public:
virtual void print() const = 0;
virtual void printthat() const = 0;
virtual void printit() const = 0;
};
class inhert : public Base
{
public:
// only virtual keyword for overriding.
virtual void print() const {}
// only override keyword for overriding.
void printthat() const override {}
// using both virtual and override keywords for overriding.
virtual void printit() const override {}
};
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法?
我通过PEAR 1.9.0安装PHPUnit 3.4.6时遇到问题.在我发现channel pear.phpunit.de并尝试使用以下命令之一后:
pear安装phpunit/PHPUnit
pear install --alldeps phpunit/PHPUnit
pear install --onlyreqdeps phpunit/PHPUnit
它失败了,给我以下错误:
没有可用于"pear.phpunit.de/PHPUnit"包的版本
安装失败
我发现有几个线程来自同样问题的人,但将PEAR升级到最新版本通常适用于他们.似乎还有几乎没有安装PHPUnit for Windows的教程.
编辑:
我也尝试将prefered_state更改为beta; 没有帮助.
我还尝试获取所有可用包的列表:
pear remote-list -c phpunit
它给了我另一个错误:
无法下载非http网址"/c/categories.xml"
在任何项目中至少有一个配置文件是很常见的.每次与我分享项目时git,我都遇到同样的问题:
显然,必须以某种方式忽略配置,以防止开发人员特定数据泛滥到主存储库.现在有几种我常用的方法,每种方式都有一些缺陷:
.gitignore 配置文件
.git/info/exclude或设置git update-index --assume-unchanged ...为文件
.gitignore)_original在具有真实文件的情况下分发以后缀为例的配置文件.gitignore.然后每个开发人员将文件重命名为真实姓名
有没有其他可能更好的方法来处理这个问题?我怀疑我缺少一些东西,至少是一些插件.
在Vojta Jina的优秀存储库中,他演示了指令的测试,他在模块包装器之外定义了指令控制器.请参见:https: //github.com/vojtajina/ng-directive-testing/blob/master/js/tabs.js
这不是不好的做法并污染全局命名空间吗?
如果一个人有另一个地方可以合理地调用TabsController,那会不会打破这些东西?
所提到的指令的测试可以在这里找到:https://github.com/vojtajina/ng-directive-testing/commit/test-controller
是否可以将指令控制器与指令的其余部分分开测试,而无需将控制器放在全局命名空间中?
将整个指令封装在app.directive(...)定义中会很好.
unit-testing jasmine angularjs angularjs-directive karma-runner
Jest正在拿起旧版本的软件包,因此我的测试会失败,除非我使用--no-cache.我甚至可以删除包文件夹node_modules,Jest很乐意运行测试(几乎所有传递).
那么如何清除Jest缓存?
我正在创建一个十进制字段来为我的Symfony2应用程序保存Doctrine2中的财务数据.
目前,它看起来像这样:
/**
* @ORM\Column(type="decimal")
*/
protected $rate;
Run Code Online (Sandbox Code Playgroud)
当我输入一个值并且所述值持久保存到数据库时,它被舍入为整数.我猜我需要为该字段设置精度和比例类型,但我需要有人来解释他们究竟做了什么?
该Doctrine2文档说:
precision:十进制(精确数字)列的精度(仅适用于十进制列)
scale:十进制(精确数字)列的比例(仅适用于十进制列)
但这并没有告诉我太多.
我猜测精度是要舍入的小数位数,所以我假设应该是2,但是什么是比例?规模是重要数字吗?
我的现场宣言应该是这样吗?: -
/**
* @ORM\Column(type="decimal", precision=2, scale=4)
*/
protected $rate;
Run Code Online (Sandbox Code Playgroud)