现在有个问题
我想把前端和 rails 完全分离出来,因为我用前端的工具npm
和bower
来管理 javascript 资源,然后用grunt
去监听和预编译前端静态文件 (js,css).
rails 默认的结构:
.
├── app
│ ├── assets
│ │ ├── images
│ │ ├── javascripts
│ │ │ └── application.js
│ │ └── stylesheets
│ │ └── application.css
│ ├── controllers
│ ├── helpers
│ ├── mailers
│ ├── models
│ └── views
│ └── layouts
│ └── application.html.erb
├── bin
├── config
├── db
├── lib
│ ├── assets
│ └── tasks
├── log
├── public
│ ├── 404.html
│ ├── 422.html
│ ├── 500.html
│ ├── favicon.ico
│ └── robots.txt
├── tmp
├── vendor
│ └── assets
│ ├── javascripts
│ └── stylesheets
├── Gemfile
├── Gemfile.lock
├── README.md
├── Rakefile
└── config.ru
我想把他们分离出来管理的结构:
.
├── app
│ ├── assets
│ │ ├── images
│ │ ├── javascripts
│ │ │ └── application.js
│ │ └── stylesheets
│ │ └── application.css
│ │ ├── node_modules/#在这里
│ │ └── grunt/
│ │ └── .../
│ │ ├── bower_components/#在这里
│ │ └── angular/
│ │ └── angular-route/
│ │ ├── Gruntfile.js#污染rails默认的app/assets结构
│ │ ├── package.json#污染rails默认的app/assets结构
│ │ ├── bower.json#污染rails默认的app/assets结构
│ ├── controllers
│ ├── helpers
│ ├── mailers
│ ├── models
│ └── views
│ └── layouts
│ └── application.html.erb
├── bin
├── config
├── db
├── lib
│ ├── assets
│ └── tasks
├── log
├── public
│ ├── 404.html
│ ├── 422.html
│ ├── 500.html
│ ├── favicon.ico
│ └── robots.txt
├── tmp
├── vendor
│ └── assets
│ ├── javascripts
│ └── stylesheets
├── Gemfile
├── Gemfile.lock
├── README.md
├── Rakefile
└── config.ru
还是:
.
├── app
│ ├── assets
│ │ ├── images
│ │ ├── javascripts
│ │ │ └── application.js
│ │ └── stylesheets
│ │ └── application.css
│ ├── controllers
│ ├── helpers
│ ├── mailers
│ ├── models
│ └── views
│ └── layouts
│ └── application.html.erb
├── bin
├── config
├── db
├── lib
│ ├── assets
│ └── tasks
├── log
├── public
│ ├── 404.html
│ ├── 422.html
│ ├── 500.html
│ ├── favicon.ico
│ └── robots.txt
├── tmp
├── vendor
│ └── assets
│ ├── javascripts
│ └── stylesheets
├── Gemfile
├── Gemfile.lock
├── README.md
├── Rakefile
└── config.ru
└── node_modules/#开始污染rails默认的根结构
└── bower_components/#污染rails默认的根结构
└── Gruntfile.js#污染rails默认的根结构
└── package.json#污染rails默认的根结构
└── bower.json#污染rails默认的根结构
还是???
粗略的看了一下 rails 的assets pipline
中关于app/assets
和vendor/assets
, lib/assets
, public/assets
的使用情况。
现在我想用前端的工具来生成build
之后的文件匹配到app/assets
中,然后由 rails 的 assets pipline 去管理已经生成的文件,包括在生产环境去生成public/assets
下面的文件。
可是这样,我不知道我该把node_modules/
和bower_components
这样的文件夹放在哪里比较合适,我希望完全不要
污染 rails 默认的任何结构。