一尘不染

ExpressJS中的Yeoman

angularjs

我仍然想尝试使用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集成到项目中。

任何建议,将不胜感激。


阅读 279

收藏
2020-07-04

共1个答案

一尘不染

我建议将这种结构用于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

希望这可以帮助!

2020-07-04