Sails.js + grunt不能编译资产

Sails.js + grunt doesn't compile assets

本文关键字:编译 不能 grunt js Sails      更新时间:2023-09-26

我对整个NodeJS风暴都很陌生,经过一些研究,我决定使用Sails.JS作为我的框架。

一切正常,直到我尝试使用Bootstrap Bootswatch .less文件。

如果我复制bootswatch。进入我的样式文件夹,刷新页面,我所有的资产抛出404错误。

目录树是这样的:

Root
|_api
|_assets
|_|_images
|_|_linker
|_|_|_fonts
|_|_|_js
|_|_|_styles
|_|_|_|_bootstrap.css
|_|_|_|_custom.less
|_|_|_|_variables.less
|_|_|_|_bootswatch.less
|_|_|_templates
|_configs
etc.

我的gruntfile.js看起来像这样:

var cssFilesToInject = [
'linker/styles/variables.less',
'linker/styles/bootstrap.css',
'linker/styles/bootswatch.less',
'linker/styles/custom.less',
'linker/**/*.css'
];

我尝试用sails lift --verbose启动服务器,没有抛出错误。

遇到了同样的问题,但找到了更好的解决方案——尽管不是完美的。基本上,在项目根目录下运行grunt compileAssets。如果那可行,我们就在正确的轨道上。

最好解决真正的问题,即扬帆在提升时不编译资产。

所以这是我的工作:

我翻遍了grunt文件,以便对发生的事情有一个有限的了解。由于手动编译资产是有效的,所以Grunt似乎运行正常。然后我偶然发现了一个.sailsrc文件在我的项目根。下面是它的样子:

{
  "generators": {
    "modules": {}
  },
  "hooks": {
    "grunt": false
  }
}

看起来Grunt被关闭了。我把它改成这个,扬起船帆,它就工作了!

{
  "generators": {
    "modules": {}
  },
  "hooks": {
    // "grunt": false
  }
}

我还不知道这是做什么的,所以也许这是一个蹩脚的解决方案,但它让我回去工作。当我获得更多的航海经验时,如果这是不对的,我会正确地修复它。

框架的好选择!Sails非常棒,可以用Angular.js创建一个平均堆栈,无论如何,我所看到的Sails.js自动编译充其量是一件棘手的事情,因为这个问题有很多话题。

我也遇到了使它与SCSS文件一起工作的问题。

总的来说,我认为最好是你用任何终端手动编译文件,并将其链接到styles目录。

如果你设法找到另一种方法,那就太好了,然而,资产无法编译的原因可能是由于大量的因素,你将花费数小时试图整理