这是我的用例:大多数svgs都应该内联.所以我设置了这样的规则:
{test: /\.svg$/, use: "svg-inline-loader"},
Run Code Online (Sandbox Code Playgroud)
在某些情况下,我只想要一个svg的url而不是内联它.在webpack 1.x中,我要求他们这样:require('path/to/file.svg?external').
这是相应的规则:
{test: /\.svg\?external$/, use: "file-loader!image-webpack-loader"},
Run Code Online (Sandbox Code Playgroud)
看起来webpack 2 在规则中?不再包含该部分,test因为迁移后只有第一条规则应用于我的所有 svgs.
有没有解决的办法?是否可能有不同的策略如何在相同扩展名的文件中应用不同的加载器集合require?
PS:我知道我可以要求这样的文件:require('!file-loader!image-webpack-loader!path/to/file.svg')但是我的加载器比这更复杂,我不想一直重复它们的配置.
PSS:这似乎也不起作用(它仍然只适用第一条规则)
{test: /\.svg$/, use: "svg-inline-loader", exclude: /\?external/},
{test: /\.svg$/, use: "file-loader?!image-webpack-loader", include: /\?external/}
Run Code Online (Sandbox Code Playgroud) 我们假设我有一个可折叠的固定宽度边栏,如下所示:
HTML
<div class="container">
<div class="sidebar" id="sidebar">
SIDEBAR
</div>
<div class="content">
lorem bla bla
<button onclick="document.getElementsByClassName('sidebar')[0].classList.toggle('collapsed')">
toggle Sidebar
</button>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
body {
margin:0;
}
.container {
display: flex;
min-height:100px;
}
.sidebar {
position: relative;
left: 0;
width: 200px;
background-color: #ccc;
transition: all .25s;
}
.sidebar.collapsed {
left:-200px;
margin-right:-200px;
}
Run Code Online (Sandbox Code Playgroud)
Codepen:http://codepen.io/anon/pen/pJRYJb
我怎样才能从那里进入灵活宽度的侧边栏?
以下是约束:
这里的主要问题是,我不能找到一种方法,说margin-right: -100%这里100%指的侧边栏的宽度
任何帮助将不胜感激!