【发布时间】:2016-02-01 16:43:01
【问题描述】:
- 我正在使用 JSPM/SystemJS
- 我正在为表格使用 Angular Material 和额外库(也导入 Angular Material)
- 我也希望使用 @import 'angular-material.scss' 的 Angular Material 的 SASS ONLY 版本
但是当我这样做并链接我编译的 app.css 时,我从 Angular Material 中获得了很多额外的东西:
- 我在
<head>中获得了多个<style>标记,其中包含无数 CSS 样式 (?????) - 每次使用 SystemJS 导入“angular-material.js”包时,我会在
<head>中获得两个额外的<links>(一个来自我的 JS,一个来自额外库 - 不同版本)
那是因为我和我们从 JS angular-material 包中导入的额外库。这不是我要求的——我只想要我的app.css。那么,我怎样才能摆脱多余的标签呢?
我猜问题是 angular-material 添加到 package.json 的 JSPM 部分:
"shim": {
"angular-material": {
"deps": [
"./angular-material.css!"
]
}
},
并且 JSPM 在第一行更改了 angular-material.js:
"format global";
"deps ./angular-material.css!";
我个人认为这是一个非常烦人的BUG而不是功能-它无法使用SASS版本并且无法永久更正它-当我通过JSPM软件包下载更改它时,它会在更新后或安装期间被覆盖(这使得不可能分发我的应用程序)。
所以,问题是 - 有没有办法永久摆脱 JSPM/AngularMaterial 插入的所有额外的 <style> 和 <link> 标签,这样我就可以只使用我的 SASS 编译版本的样式?(已经分叉 lib 并删除了 shim,但也许我的应用程序中有配置允许我使用“官方”版本?)
【问题讨论】:
-
我有同样的问题,但下面的答案没有任何区别。
-
1.0.0-rc7 已更正,不需要下面的解决方法(对于额外的 CSS 链接但不是额外的样式标签)
标签: angular-material jspm