14

我想知道如何通过较新的sails 版本提供引导模板。我是否应该将 JS 的链接更新为其他内容。我尝试在资产文件夹中移动 js 和图像,但 javascript 不起作用。帆文档在这个主题上很差。谁能告诉一个简单的方法来集成它。提前致谢

4

2 回答 2

10

Sails 0.9.x 已经开始使用 Grunt 来处理资产。这允许您进行许多不同类型的预编译和资产处理。默认情况下,无法将资产自动注入到您的视图和布局中。

我们添加了一个标志,您可以在生成新的sails 项目时包含该标志,该标志将在您的资产文件夹中创建一个文件夹,并自动将任何文件注入您的 index.html 或布局文件。这应该只用于开发。

sails new <project name> --linker

现在您将linker在资产文件夹下拥有一个标题为文件夹的文件夹,您可以将文件放入其中以自动链接它们。它还会在你的index.html文件和布局文件中添加一些标签,以了解在哪里注入各种 JS、CSS 和模板。

您可以在此处阅读更多信息:Sails Wiki - 资产

如果您正在使用已创建的项目,则可以手动创建以下文件结构:

assets/
  linker/
    js/
    styles/
    templates/

您还需要将以下标签添加到您的视图中:

<!--SCRIPTS-->
All .js files in assets/linker/js will be included here
In production mode, they will all be concatenated and minified
<!--SCRIPTS END-->

<!--STYLES-->
All .css files in assets/linker/styles (including automatically compile ones from LESS) will be included here
In production mode, they will all be concatenated and minified
<!--STYLES END-->

<!--TEMPLATES-->
All *.html files will be compiled as JST templates and included here.
<!--TEMPLATES END-->

因此,要使用 bootstrap 并将文件自动添加到您的页面,您需要将 bootstrap.js 文件放入assets/linker/js并将 bootstrap.css 文件放入assets/linker/css.

在生产中,您需要编辑 gruntfile 以将所有 css 和 js 编译成单个文件,并在 view/layout/index.html 中手动链接它们。

于 2013-07-31T17:27:13.663 回答
8

字形图标存在问题。压缩后的 css 文件的目标是 /.temp/public/min/production.css,字体必须在 /.temp/public/fonts/ 中。然后你必须将字体文件夹从 assets/linker/fonts/ 复制到 /.temp/public/fonts/。

您必须将其添加到 copy.dev.files 数组中的 Gruntfile 中:

{
    expand: true,
    cwd: './assets/linker/fonts',
    src: ['**/*'],
    dest: '.tmp/public/fonts'
}

或者以更一般的方式:

{
    expand: true,
    cwd: './assets',
    src: ['**/fonts/*'],
    dest: '.tmp/public/fonts',
    flatten: true
}

它将搜索所有fontsassets. 用于flatten避免子文件夹。

干杯,

于 2013-11-27T16:40:18.920 回答