假设我有像Bootstrap这样的外部依赖.我想从那里导入一些LESS,因为这样我可以在我的代码中使用Bootstrap mixins.
由于Meteor已经在我的树中编译和连接所有LESS(对吗?),只需复制LESS目录然后手动更新它一次不是解决方案.实际上,使用默认的LESS目录,似乎每个LESS源文件将在输出中出现两次:一次因为它是导入的bootstrap.less
,一次是因为文件本身.
有没有办法让流星忽略一些路径?public/
听起来很近; 但我真的不想服务于bootstrap repo.
另外,这可能会为LESS修复它,但是在bootstrap中处理JS扩展的适当方法是什么?
我已经找到了一个可能的解决方案。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)