9

Bootstrap のような外部依存関係があるとしましょう。そこからLESSをインポートしたいと思います。そうすれば、コードでBootstrapミックスインを使用できるからです。

Meteor は既にツリー内のすべての LESS をコンパイルおよび連結しているため (そうですか?)、LESS ディレクトリをコピーして、時々手動で更新するだけでは解決できません。実際、デフォルトの LESS ディレクトリでは、すべての LESS ソース ファイルが出力に 2 回表示されるようbootstrap.lessです。

流星にいくつかのパスを無視させる方法はありますか? public/近くに聞こえます。しかし、ブートストラップリポジトリを提供したくありません。

さらに、これで LESS が修正される可能性がありますが、ブートストラップで JS 拡張機能を処理する適切な方法は何ですか?

4

2 に答える 2

3

私は潜在的な解決策を考え出しました。Meteor はそのディレクトリ内のすべてをバンドルしたいので、依存関係をその手の届かないところに置きましょう :)

次のディレクトリ構造を使用します。

.
|-- ext
|   `-- bootstrap
`-- myapp
    |-- .meteor
    `-- ...

私のLESSファイルでは、次のことを行います。

@BOOTSTRAP: "../../ext/bootstrap/less";
@import "@{BOOTSTRAP}/reset.less";

これはまだ動作しませんが、これはLESS バグに起因すると思います。

残念ながら、Meteor によって生成されるエラー メッセージは、ここではまったく役に立ちません。

[[[[[ ~/Code/igl/igl ]]]]]

Running on: http://localhost:3000/
Errors prevented startup:
Exception while bundling application:
ReferenceError: err is not defined
    at /usr/local/meteor/packages/less/package.js:33:62
    at [object Object].add_file (/usr/local/meteor/app/lib/bundler.js:193:5)
    at /usr/local/meteor/app/lib/bundler.js:97:16
    at Array.forEach (native)
    at Function.<anonymous> (/usr/local/meteor/app/lib/third/underscore.js:76:11)
    at /usr/local/meteor/app/lib/bundler.js:96:11
    at Array.forEach (native)
    at Function.<anonymous> (/usr/local/meteor/app/lib/third/underscore.js:76:11)
    at Object.add_files (/usr/local/meteor/app/lib/bundler.js:95:9)
    at [object Object].on_use (/usr/local/meteor/app/lib/packages.js:136:11)
Your application is crashing. Waiting for file change.
于 2012-04-14T10:12:27.640 に答える