我仍然想尝试使用w / Yeoman和Express运行示例。
我尝试了以下方法,但效果很好,但是我坚持合并路线。(为简化可读性而简化)
mkdir test cd test express mkdir app cd app mkdir js cd js yeoman angular
然后我在Gruntfile.js中将“ output:dist”更改为“ output:../../ public”
现在,两个服务器都可以独立运行(例如,yeoman服务器和节点app.js)。我现在也可以运行“ yeoman build”,以将缩小的JS输出到Express应用程序中的/ public。
我对路线如何合并有些模糊?我想/拉起Angular路线,而不是快速路线,等等。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):
public
app
rm -rf public
现在,在中app.js,您需要更改从哪个目录提供静态文件。更改此行:
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。
views/index.jade
app/index.html
app/index.jade
index.html
希望这可以帮助!