小编kli*_*ore的帖子

使用webpack从目录动态导入图像

所以这是我目前通过ES6在webpack中导入图像和图标的工作流程:

import cat from './images/cat1.jpg'
import cat2 from './images/cat2.svg'
import doggy from './images/doggy.png'
import turtle from './images/turtle.png'

<img src={doggy} />
Run Code Online (Sandbox Code Playgroud)

这很快变得混乱.这就是我想要的:

import * from './images'

<img src={doggy} />
<img src={turtle} />
Run Code Online (Sandbox Code Playgroud)

我觉得必须有一些方法动态导入特定目录中的所有文件,因为他们的名称没有扩展名,然后根据需要使用这些文件.

有人看过这个,或者对最好的方法有任何想法吗?


更新:

使用选定的答案,我能够这样做:

function importAll(r) {
  let images = {};
  r.keys().map((item, index) => { images[item.replace('./', '')] = r(item); });
  return images;
}

const images = importAll(require.context('./images', false, /\.(png|jpe?g|svg)$/));

<img src={images['doggy.png']} />
Run Code Online (Sandbox Code Playgroud)

ecmascript-6 reactjs webpack

77
推荐指数
6
解决办法
5万
查看次数

如何正确使用CSSStyleSheet.insertRule()?

我无法弄清楚我在哪里出错:/.当我运行此代码时,我得到的只是一个空白元素.我似乎无法使用insertRule方法做任何事情(甚至不会产生错误).我错过了什么吗?

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<body>
<script>
    var sheet = (function() {
        // Create the <style> tag
        var style = document.createElement("style");

        // WebKit hack
        style.appendChild(document.createTextNode(""));

        // Add the <style> element to the page
        document.head.appendChild(style);

        return style.sheet;
    })();
    sheet.insertRule("\
        #gridContainer {\
            width: 100%;\
            height: 100%;\
        }\
    ", 0);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript css stylesheet

12
推荐指数
1
解决办法
1万
查看次数

构造一个对象参数两个级别?

所以,我将一个对象传递给ES6函数,我想将其解构为参数的参数.例如,下面的代码将记录data的道具stuff,但我想它来记录things的道具datastuff.所以正确的答案会记录下来[1,2,3,4].我知道,根本不会混淆.任何人都知道这是否可行?

const stuff = {
   data: {
      things: [1,2,3,4]
   }
};
const getThings = ({ data }) => {
   console.log(data)    
};
getThings(stuff);
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

11
推荐指数
2
解决办法
3024
查看次数

我应该在Angular指令中使用单个对象还是单个值作为属性?

这是一种"最佳实践"问题,但我仍然认为可能有正确答案.

我有一个带有六个可配置选项的指令.我应该在指令上设置六个不同的属性(如下所示):

<my-directive
  my-width="300"
  my-height="300"
  my-status="true"
  my-foo="yes"
  my-bar="no">
</my-directive>
Run Code Online (Sandbox Code Playgroud)

或者,我应该将配置对象传递给单个属性(如下所示):

<my-directive my-options="options"></my-directive>
Run Code Online (Sandbox Code Playgroud)

这只是偏好还是有一般的首选方法?任何反馈都表示赞赏.谢谢 :)

html javascript attributes angularjs angularjs-directive

6
推荐指数
1
解决办法
193
查看次数