小编OZZ*_*ZIE的帖子

如何在React组件中导入图像(.svg,.png)

我试图在我的一个反应组件中导入一个图像文件.我有web包的项目设置

这是我的组件代码

import Diamond from '../../assets/linux_logo.jpg';

 export class ItemCols extends Component {
    render(){
        return (
            <div>
                <section className="one-fourth" id="html">
                    <img src={Diamond} />
                </section>
            </div>
        )
    } 
}
Run Code Online (Sandbox Code Playgroud)

这是我的项目结构.

在此输入图像描述

我按以下方式设置了我的webpack.config.js文件

{
    test: /\.(jpg|png|svg)$/,
    loader: 'url-loader',
    options: {
      limit: 25000,
    },
},
{
    test: /\.(jpg|png|svg)$/,
    loader: 'file-loader',
    options: {
      name: '[path][name].[hash].[ext]',
    },
},
Run Code Online (Sandbox Code Playgroud)

PS.我可以从任何其他远程源获取图像,但不能从本地保存的图像.JavaScript控制台也没有给我任何错误.请帮忙.我很反应,无法找到我做错了什么.

javascript reactjs webpack

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

VLC:如何从mp4转换为webm

如果可能的话,如何使用VLC将mp4转换为webm?我应该选择哪种编解码器?我需要重新编码声音吗?

我正在尝试将html5视频放在一个闪存作为后备的网站上.据我所知,它是Firefox允许的唯一格式(webm)(除非你在Windows 7 64bit上?).Theora似乎工作,但从我的理解它有点旧,也需要一段时间才能正确渲染图片并且不提供缩略图:(

<video controls width="500">  
    <!-- if Firefox -->  
    <source src="video/45-theora.ogg" type="video/ogg" />
    <!-- if Safari/Chrome-->  
    <source src="video/45.mp4" type="video/mp4" />
</video>
Run Code Online (Sandbox Code Playgroud)

哦,我在Mac OS Lion上,但如果它让某人更容易,我可以访问Windows 7,Vista和XP.

谢谢你的帮助!

vlc codec video-codecs html5-video

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

AWS Lambda@Edge Nodejs“不支持环境变量。”

这样做的动机首先来自亚马逊:https : //aws.amazon.com/blogs/compute/resize-images-on-the-fly-with-amazon-s3-aws-lambda-and-amazon -api-gateway/(在他们添加“更新”之前...)

在我们的 AWS Lambda 调整大小函数中,它调整图像大小并将新图像存储在 S3 上。

  const s3_bucket = process.env.s3_bucket;
  S3.putObject({
    Body: buffer,
    Bucket: s3_bucket,
    ContentType: contentType,
    CacheControl: 'max-age=31536000',
    Key: key,
    StorageClass: 'STANDARD'
  }).promise()
Run Code Online (Sandbox Code Playgroud)

现在我们希望它适用于我们所有的测试/暂存环境以及生产..所以我找到了“环境变量”,我虽然很棒!但是当我尝试部署新版本时,我得到的是:

在此处输入图片说明 我们是否在 CloudFront 中设置错误?我们使用的是 Node 6.10 版。我发现很难相信我们是否必须对存储桶进行硬编码并保留不同版本的代码来处理这个问题?如果是这样,那么我们在使用 AWS Lambda 时浪费了很多时间......

编辑:我们所做的是请求像“media/catalog/product/3/0/30123/768x/lorem.jpg”这样的图像,然后我们使用位于“media/catalog/product/3/”的原始图像0/30123.jpg",如果浏览器支持,则将其调整为 768px 和 webp,然后返回新图像(如果尚未缓存)。

environment-variables amazon-web-services aws-lambda-edge

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

coffeescript中的简单循环

我有这个代码:

count = $content.find('.post').length;              
for x in [1...count]
    /*
    prev_el_height += $("#content .post:nth-child(" + x + ")").height();
    */
    prev_el_height += $content.find(".post:nth-child(" + x + ")").height();
Run Code Online (Sandbox Code Playgroud)

我希望这会变成

for (x = 1; x < count; x++) { prev_el ... }
Run Code Online (Sandbox Code Playgroud)

但它变成了这样:

for (x = 1; 1 <= count ? x < count : x > count; 1 <= count ? x++ : x--) {
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下原因吗?

编辑:如何获得我预期的语法输出?

coffeescript

8
推荐指数
1
解决办法
7050
查看次数

Smartgit:将本地更改从存储移动到分支

我有本地更改,我已存储在藏匿处.我现在(之后)创建了一个新的分支,并希望将我的更改从stash推送到此分支.SmartGit:Local> Apply stash.

当我尝试SmartGit问我:恢复索引(复选框),这是什么?我应该选择它吗?

在此输入图像描述

git smartgit

8
推荐指数
1
解决办法
6262
查看次数

Google Chrome Lighthouse/Audit 减少 JavaScript 执行时间 - 什么是“其他”

Google Chrome Lighthouse/Audit 减少 JavaScript 执行时间“其他” 这个“其他”指的是什么?应该说“总数”吗?内联脚本需要这么多时间吗?

我在隐身模式下运行,移动 4G,禁用所有插件(在隐身模式下没有启用)

google-chrome lighthouse

7
推荐指数
1
解决办法
1163
查看次数

如何向 Nextjs 节点服务器添加基本身份验证?

不想向某些外部请求或 OAuth 添加身份验证。只需对节点服务器进行服务器端基本身份验证。

截至编写 Next.js 似乎不支持它:https ://github.com/vercel/next.js/discussions/17719

它支持身份验证,但我想它必须添加到应用程序的每个路由中: https: //nextjs.org/docs/authentication

node.js next.js

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

AngularJS相当于jQuery切换显示/隐藏一个部分

首先,是的,我已经尝试使用谷歌搜索,但仍然很难找到有关AngularJS的信息.

我想根据表单中按下的按钮来执行打开部分的简单任务.我希望只有一个部分可以在任何时间打开,也许是默认部分(尚未决定).如果您单击的按钮将被归类为"btn-primary"用于引导程序,那也很好.所以这是html

<form>
    <input type="button" id="show-section1" value="Section 1" />
    <input type="button" id="show-section2" value="Section 2" />
    <input type="button" id="show-section3" value="Section 3" />
</form>
<section id="section1">blah</section>
<section id="section2">blah2</section>
<section id="section3">blah3</section>
Run Code Online (Sandbox Code Playgroud)

在jQuery中我会做这样的事情(简化而不是解释的最佳解决方案):

$('section').hide();
$('#show-section1').click(function() {
    $('section').hide();
    $('#section1').show();
});
etc
Run Code Online (Sandbox Code Playgroud)

我以前做过这个,但我不记得怎么样,我记得它只是很少的代码行.

javascript angularjs

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

Lambda@Edge 仅对某些图像提供 502

我们所做的是请求像“media/catalog/product/3/0/30123/768x/lorem.jpg”这样的图像,然后我们使用位于“media/catalog/product/3/0/”的原始图像30123.jpg”,如果浏览器支持,则将其调整为 768px 和 webp,然后返回新图像(如果尚未缓存)。

如果您要求:wysiwyg/lorem.jpg 它将尝试创建最大 1920 像素(无放大)的 webp。

这似乎在 <= 1420 像素宽的图像内工作得很好。然而上面我们只得到HTTP 502: The Lambda function returned invalid json: The json output is not parsable.

SO 上有一个与 GZIP 相关的类似问题,但是据我所知,您不应该真正使用 GZIP 图像:https : //webmasters.stackexchange.com/questions/8382/gzipped-images-is-it-worth/57590# 57590

但原始图像可能已经上传到 S3 GZIPPED。但是 gzip 可能会导致错误,因为为什么它适用于较小的图像呢?我们在 Cloudfront 中禁用了 GZIP。

我给了 Lamda@Edge Resize 函数最大资源 3GB 内存和 30 秒超时..这对于更大的图像还不够吗?

我已经删除了已经生成的图像,使 Cloudfront 无效,但它的行为仍然相同..

编辑:更新

我只是尝试了一个不同的图像,然后它工作正常..我不知道为什么以及如何解决损坏的图像然后......我猜Cloudfront现在已经缓存了502..我已经使用“*”无效但没有没有帮助..两个原始文件都是jpg。

工作图像的原始源图像是 6.1 MB,如果重要的话,非工作图像是 6.7 MB。

他们有这些限制:https : //docs.aws.amazon.com/lambda/latest/dg/limits.html

response.body 停止工作时大约为 512 MB。

amazon-cloudfront aws-lambda-edge

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

PHP:使用类似Java的Comparable对自定义类进行排序?

如何使用sort()使我自己的自定义类可以排序?

我一直在扫描网络,找到任何一种类似Java的类比较方法,但没有太多运气.我尝试实现__equals()但没有运气.我也试过__toString().我的班级看起来像这样:

class Genre {
    private $genre;
    private $count;
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想按顺序对它们进行排序,这是一个整数,按降序排列......($ genre是一个字符串)

php sorting

5
推荐指数
1
解决办法
2857
查看次数

jQuery if has()选择器做的东西

<ul id="bad-drifting">
    <li>text</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/wZ8MC/2/

jQuery(document).ready(function() { 
    if (jQuery('#bad-drifting').has('em')) {
        jQuery('#bad-drifting').css({'color': 'red'});
        jQuery('#bad-drifting').css({'font-weight': 'bold'});
    }
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/Xzn6y/

jQuery(document).ready(function() { 
    if (jQuery('#bad-drifting li:has(em)')) { // .has('em')
        jQuery('#bad-drifting').css({'color': 'red'});
        jQuery('#bad-drifting').css({'font-weight': 'bold'});
    }
});
Run Code Online (Sandbox Code Playgroud)

我想要做的不仅是设置一些CSS,而是进行更复杂的更改,但我无法弄清楚为什么这总是会返回真实...这是一个错误还是我错过了什么?

javascript jquery

2
推荐指数
1
解决办法
3540
查看次数

React Babel polyfill for Object.values()

在我们的项目中我们已经使用了Object.keys()很多Object.values()!由于它是基于 Magento (1) 的,所以我们用 Prototype.js 对其进行了填充(不知道它来自于此)。

然而,我们发现了一些似乎与 Prototype.js 直接相关的性能问题,因此我们希望将其删除。

我不想改变它们使用的每个位置。相反,我想要一个好的polyfill,它只为默认不支持它的浏览器加载。我希望将 polyfill 托管在我们的服务器上,以避免在 CDN 关闭时出现任何奇怪的错误(我们有自己的 CDN 解决方案)。

Babel 的一切都让我感到困惑。Webpack 对我来说也是半新的,有时令人困惑。 webpack.config 的语法似乎发生了变化,因为我们正在使用一些旧的规范。尝试遵循文档并通过谷歌搜索答案会更加令人困惑。我想我们应该更新到新规范。很快的某个时间。

我们今天有相关部分,

webpack.config.js:

const path = require('path');
const webpack = require('webpack');

const BUILD_DIR = path.resolve(__dirname, 'build/');
const APP_DIR = path.resolve(__dirname, 'src/');

module.exports = function config(env, argv = {}) {
  return {
    entry: ['core-js', 'formdata-polyfill', 'whatwg-fetch', `${APP_DIR}/index.js`],
    output: {
      path: BUILD_DIR,
      filename: 'react-frontend.js',
    },
    resolve: {
      extensions: ['.js', '.jsx'],
      modules: [
        path.resolve(__dirname, 'src/'),
        'node_modules',
      ],
      alias: …
Run Code Online (Sandbox Code Playgroud)

javascript polyfills reactjs webpack babeljs

2
推荐指数
1
解决办法
4654
查看次数