第一个帆没有创建.tmp/public,所以我手动完成.但它也不会将我的资源文件夹中的内容复制到我的公共文件夹中.有人可以解释为什么会这样吗?
#那时,我得到的答案没有帮助,我现在更新到9.8,我似乎没有任何问题.
#
Maarten Doct.. 11
我有同样的问题.运行sails lift
时未创建.tmp文件夹.最终对我有用的是在我的sails应用程序的根文件夹中本地安装Grunt.所以只需npm install grunt
在你的sails app文件夹中运行.让Grunt在全球范围内安装-g
旗帜显然是不够的.本地安装后,您可以sails lift
再次运行,并将创建.tmp文件夹.
希望这可以帮助!
Sails使用grunt来管理资产.一些"管理"涉及在项目文件夹结构和服务器的公共文件夹之间同步文件,但一如既往,我已经领先于自己.
配置grunt
基于在Gruntfile.js
sails项目的根目录中找到的文件.这个文件中有很多内容,但是,我将专注于javascript和css资产.
首次创建项目时,可以选择使用该--linker
标志.使用该标志的一个例子是sails new projectName --linker
.这是/assets
两种情况下文件夹的目录结构:
使用该--linker
标志
/assets /images /linker /js /styles /templates
未使用的--linker
标志
/assets /images /js /styles
请注意,您可以--linker
通过手动创建/linker
文件夹并将其插入/assets
路径来"升级"未使用该标志创建的项目.然后,您可以添加/js
,/styles
和/templates
下/linker
.
当开始经由帆服务器sails lift
通过下面的文件夹结构中创建/同步时间grunt
的内.tmp
文件夹中:
.tmp /public
如果有任何其他的项目文件夹(例如/images
,/js
,/styles
,/templates
)含有它们复制内容/同步时间到.tmp/public
文件夹中.的区别在于,如果一个/linker
文件夹存在,则/js
,/styles
和另外的/templates
文件夹下创建/linker
.
layout.ejs
档案怎么了?如果您使用该/linker
文件夹,sails将更改您的layout.ejs
文件以包含指向您的javascript和css文件的链接.因此,从项目/views
文件夹提供的任何页面都可以访问这些文件中包含的javascript和css.
Grunt使用注释标签layout.ejs
作为这些链接的placehodler.例如,放置在/style
文件夹中的任何内容都将自动链接到layout.ejs
这两个标记之间:
<!--STYLES--> <!--STYLES END-->
/js
文件夹中的任何内容都将链接在这两个标记之间:
<!--SCRIPTS--> <!--SCRIPTS END-->
中点儿/templates
文件夹这两个标记之间的链接:
<!--TEMPLATES--> <!--TEMPLATES END-->
以下是在任一情况下访问资产的方式:
使用该/linker
文件夹
/js
- > /linker/js/yourFile.js
/styles
- > /linker/styles/yourCSS.css
不使用该/linker
文件夹
/js
- > /js/yourFile.js
/styles
- > /styles/yourCSS.css
我有同样的问题.运行sails lift
时未创建.tmp文件夹.最终对我有用的是在我的sails应用程序的根文件夹中本地安装Grunt.所以只需npm install grunt
在你的sails app文件夹中运行.让Grunt在全球范围内安装-g
旗帜显然是不够的.本地安装后,您可以sails lift
再次运行,并将创建.tmp文件夹.
希望这可以帮助!