2013-07-29 8 views
13

より新しいセールバージョンでブートストラップテンプレートを提供する方法を知りたかったのです。 JSのリンクを別のものに更新する必要があります。私は資産フォルダにjsと画像を移動しようとしましたが、javascriptは機能しませんでした。このトピックでは、セイルのドキュメントは非常に貧弱です。誰でも簡単に統合することができます。 ありがとうございますセイルでブートストラップテンプレートを提供する方法0.9?

答えて

10

セイルズ0.9.xはアセットを扱うためにグランツを使用するように移動しました。これにより、さまざまな種類のプリコンパイルとアセット処理を行うことができます。デフォルトでは、ビューとレイアウトへの自動アセット注入は利用できません。

アセットフォルダ内にフォルダを作成し、index.htmlまたはレイアウトファイルに自動的にファイルを挿入する新しいセイルプロジェクトを生成するときに含めることができるフラグを追加しました。これは開発にのみ使用してください。

sails new <project name> --linker

今、あなたはあなたがそれらを自動的にリンクされ持っているファイルを中に置くことができ、あなたの資産フォルダの下linkerというタイトルのフォルダを持っています。 index.htmlファイルとレイアウトファイルにいくつかのタグを追加して、さまざまなJS、CSS、およびテンプレートをどこに注入するかを知ることもできます。

あなたがここで詳細を読むことができます:Sails Wiki - Assets

をすでに手動で以下のファイル構造を作成することができます作成​​されたプロジェクトで作業している場合:

assets/ 
    linker/ 
    js/ 
    styles/ 
    templates/ 

あなたはまた、追加する必要があります

ブートストラップを使用してページに自動的にファイルを追加するには、ブートストラップを配置しますp.jsファイルをassets/linker/jsに、bootstrap.cssファイルをassets/linker/cssに追加します。

プロダクションでは、gruntfileを編集して、すべてのcssとjsを1つのファイルにコンパイルし、view/layout/index.htmlに手動でリンクする必要があります。

+0

だから、テンプレートフォルダ内に存在する複数のhtmlファイルが存在する場合、それらはすべてで一緒にクランチされます。<! - テンプレート - > すべての* .htmlファイルには、JSTテンプレートとしてコンパイルされ、ここに含まれています。 <! - TEMPLATES END - > ??? URLの特定のhtmlを選択的にレンダリングする例を表示できますか?申し訳ありませんが、私は本当にグラントで新しいです。事前にありがとう – Bhanu423

+0

テンプレートは1ページのWebアプリケーション用です。これらは、フロントエンドコードで使用できるJSTテンプレートにプリコンパイルされます。 ビューをサーバー側にレンダリングし、特定のルートに対してビューを提供したい場合は、viewsフォルダーを使用します。ここでは、EJS、Jade、または他のビューロジックを使用できます。 ビューの詳細については、[Sails View Docs](http://sailsjs.org/#!documentation/views)をご覧ください。 – particlebanana

+0

リンカを開発用に使用するのはなぜですか? – Vadorequest

7

グリフコンに問題があります。縮小されたCSSファイルの宛先は/.temp/public/min/production.cssで、フォントは/.temp/public/fonts/になければなりません。次に、assets/linker/fonts /から/.temp/public/fonts/にフォントフォルダをコピーする必要があります。

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

以上の一般的な方法で:

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

それはfonts下と呼ばれるすべてのフォルダを検索しますあなたはcopy.dev.files配列内Gruntfileでこれを追加する必要があり

assets。サブフォルダを避けるには、flattenを使用します。

乾杯、

関連する問題