Meteor中的外部依赖(如bootstrap)

lvh*_*lvh 9 javascript meteor

假设我有像Bootstrap这样的外部依赖.我想从那里导入一些LESS,因为这样我可以在我的代码中使用Bootstrap mixins.

由于Meteor已经在我的树中编译和连接所有LESS(对吗?),只需复制LESS目录然后手动更新它一次不是解决方案.实际上,使用默认的LESS目录,似乎每个LESS源文件将在输出中出现两次:一次因为它是导入的bootstrap.less,一次是因为文件本身.

有没有办法让流星忽略一些路径?public/听起来很近; 但我真的不想服务于bootstrap repo.

另外,这可能会为LESS修复它,但是在bootstrap中处理JS扩展的适当方法是什么?

lvh*_*lvh 3

我已经找到了一个可能的解决方案。Meteor 希望将所有内容捆绑在其目录中...所以让我们将依赖项置于其范围之外:)

具有以下目录结构:

.
|-- ext
|   `-- bootstrap
`-- myapp
    |-- .meteor
    `-- ...
Run Code Online (Sandbox Code Playgroud)

在我的 LESS 文件中,我执行以下操作:

@BOOTSTRAP: "../../ext/bootstrap/less";
@import "@{BOOTSTRAP}/reset.less";
Run Code Online (Sandbox Code Playgroud)

这仍然不起作用,但我认为这可归因于LESS bug

不幸的是,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.
Run Code Online (Sandbox Code Playgroud)