node.js - ExpressJS 中的 Yeoman

标签 node.js angularjs express yeoman

我仍然想尝试使用 Yeoman 和 Express 运行示例。

我尝试了以下方法,它“正常”工作,但我在合并路线时遇到了困难。 (为了便于阅读,过度简化)

mkdir test
cd test
express
mkdir app
cd app
mkdir js
cd js
yeoman angular

然后我在 Gruntfile.js 中将“output:dist”更改为“output:../../public”

现在,两台服务器都可以自行运行(例如 yeoman 服务器和 Node app.js)。我现在也可以运行“yeoman build”,将缩小的 JS 输出到 express 应用程序中的/public。

我对路线如何合并有点模糊?我想/拉起 Angular 路线而不是 express 路线等。github 上的 angular-express-seed 示例看起来不错,但我仍然希望 Yeoman 集成到项目中。

任何建议将不胜感激。

最佳答案

我会为 yeoman + expressjs 推荐这种结构:

mkdir app
cd app
yeoman angular
express .

所以你的目录树应该是这样的:

.
├── app
│   ├── 404.html
│   ├── favicon.ico
│   ├── index.html
│   ├── robots.txt
│   ├── scripts
│   │   ├── controllers
│   │   │   └── main.js
│   │   ├── vendor
│   │   │   ├── angular.js
│   │   │   ├── angular.min.js
│   │   │   ├── es5-shim.min.js
│   │   │   └── json3.min.js
│   │   └── yeoman-test.js
│   ├── styles
│   │   └── main.css
│   └── views
│       └── main.html
├── app.js
├── Gruntfile.js
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── user.js
├── test
│   ├── lib
│   │   └── angular-mocks.js
│   └── spec
│       └── controllers
│           └── main.js
├── testacular.conf.js
└── views
    ├── index.jade
    └── layout.jade

您可以删除现在多余的 public 目录(我们将改为从 app 提供服务):

rm -rf public

现在在 app.js 中,您需要更改从哪个目录提供静态文件。更改此行:

app.use(express.static(path.join(__dirname, 'public')));

到这里:

app.use(express.static(path.join(__dirname, 'app')));

应该就是这样。需要注意的是,您现在有两个“索引”文件——一个在 views/index.jade 中,另一个在 app/index.html 中。删除 app/index.html 目前会破坏 yeoman,所以我的建议是摆脱 app/index.jade 的路线,只对 index 进行编辑.html.

希望这会有所帮助!

关于node.js - ExpressJS 中的 Yeoman,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14106248/

相关文章:

mysql - Express js orm2 mysql 返回对象

javascript - NodeJS HTTPs 请求返回 Socket 挂断

node.js - 为 child_process.exec 命令清理用户输入

javascript - Angular - 如何打印键值的值

angularjs - 如何添加丢失的外键/实体?使用 JObjects 保存 BreezeJs

javascript - 嵌套路由器中的 ExpressJS req.params 为空

javascript - 如果服务器出现故障,如何捕获浏览器抛出的 ERR_CONNECTION_REFUSED?

javascript - Mongoose 查询 WHERE 和 OR NOT

javascript - 如何显示浏览图像的名称。

node.js - Mongoose 正在更改 unix 时间戳并将其转换为 UTC 时间