我试图让用户使用Javascript和HTML5下载属性(http://caniuse.com/#feat=download)将一些数据下载为CSV(文本)文件.
数据以数组形式生成,然后添加到新的Blob对象中.
它在Chrome和Opera中完美运行,但在Firefox中根本不起作用.
我试图复制的原始示例:http://blog.eliacontini.info/post/79860720828/export-to-csv-using-javascript-the-download-attribute
小提琴:http://jsfiddle.net/8wos7cf8/5/
使用Javascript:
$('#downloadButton').click(function () {
// some data to export
var data = [{
"title": "Book title 1",
"author": "Name1 Surname1"
}, {
"title": "Book title 2",
"author": "Name2 Surname2"
}, {
"title": "Book title 3",
"author": "Name3 Surname3"
}, {
"title": "Book title 4",
"author": "Name4 Surname4"
}];
// prepare CSV data
var csvData = new Array();
csvData.push('"Book title","Author"');
data.forEach(function (item, index, array) {
csvData.push('"' + item.title …Run Code Online (Sandbox Code Playgroud) 我正在将Express服务器与create-react-app一起使用。
create-react-app有一个预先配置的ServiceWorker,用于缓存本地资产(https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#making-a-progressive-web -app)。
尝试在服务器上发布时遇到的问题是service-worker.js文件可用,但是尝试注册该文件时浏览器控制台出现错误。
在Firefox上,出现以下错误:
服务人员注册期间发生错误:
类型错误:在ServiceWorker脚本https://my-domain.com/service-worker.js的范围https://my-domain.com/安装过程中遇到错误。
在Chrome上,我得到了更具描述性的错误:
注册Service Worker时出错:DOMException:无法注册ServiceWorker:脚本具有不受支持的MIME类型('text / html')。
果然,如果我在开发人员工具的“网络”选项卡中查找并搜索该service-worker.js文件,则可以看到该文件在HTTP标头中具有错误的MIME类型。
但是,我不明白为什么它的MIME类型错误?
如何animateTransform在SVG中使用从中心点而不是左上角缩放对象?
例:
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100px" height="100px">
<circle style="fill:blue;" cx="50" cy="50" r="45">
<animateTransform attributeName="transform"
type="scale"
from="0 0"
to="1 1"
begin="0s"
dur="1s"
repeatCount="indefinite"
/>
</circle>
</svg>
Run Code Online (Sandbox Code Playgroud)
(Codepen:http://codepen.io/anon/pen/wKwrPg?editors = 100 )
我试图div用flexbox(display:flex)将两个元素并排连续居中.
div左边的第一个元素只有一个图像.
div右边的第二个元素具有未指定长度的左对齐内联文本.
当文本行足够短以适合一行时,两个div都按照我的预期对齐并对齐到中心.
当文本行足够长以包裹到两行时,第二个div元素不会像我期望的那样将自己包裹在内容周围.相反,它在右侧留下了一个很大的空白区域div.
我在这里嘲笑了一个例子:http://codepen.io/anon/pen/NGqYQX?edit = 110.改变浏览器窗口的宽度,看看我的意思.
如何设置第二个div元素以缩小自身以适合文本,以便两个div元素都显示为居中?
HTML:
<div class="flexbox-container">
<div class="div1">
<img src="http://dreamatico.com/data_images/kitten/kitten-2.jpg" width="150px">
</div>
<div class="div2">
This is an example of a line of text.
</div>
</div>
<br>
<div class="flexbox-container">
<div class="div1">
<img src="http://dreamatico.com/data_images/kitten/kitten-2.jpg" width="150px">
</div>
<div class="div2">
This is an example of a much loooooooooooooonger line of text.
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.flexbox-container {
display: flex;
justify-content: center; …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的React应用程序(通过中构建create-react-app)中使用第三方库,该库通常是通过<script>html文件中的标签加载的:
index.html
...
<script src="some-library.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
该脚本基本上只是在文件末尾调用自身:
some-library.js
function foo() {
...
}
foo();
Run Code Online (Sandbox Code Playgroud)
没有模块或export语句,所以我尚不清楚如何在我的React应用程序中使用它。
使用npm安装库之后,我尝试在文件中使用importand require()语句App.js,但未成功:
App.js
import "some-library"; // doesn't work
require("some-library"); // doesn't work
const SomeLibrary = require("some-library"); // doesn't work
...
Run Code Online (Sandbox Code Playgroud)
有关在React中使用第三方库的一些说明建议在React生命周期挂钩之一中使用该库,例如componentDidMount(),但是我无法从该库调用任何函数:
App.js
import React, { Component } from "react";
import * as SomeLibrary from "some-library";
class App extends Component {
componentDidMount() {
SomeLibrary.foo(); // doesn't work (wasn't exported in "some-library")
} …Run Code Online (Sandbox Code Playgroud) 我已经在我的项目中使用 Prettier 几个星期了。我很喜欢!
我使用 JetBrains WebStorm IDE,因此我按照 Prettier 项目网站上的说明了解如何在 WebStorm 中设置文件观察器:https ://prettier.io/docs/en/webstorm.html#using-file-watcher
然后,每次我保存 JavaScript 文件时,Prettier 都会自动运行该文件,一旦 Prettier 保存文件,WebStorm 就会向我显示所做的更改。
我希望团队中的每个人都使用 Prettier,但不是每个人都使用 WebStorm。有些人使用的编辑器无法通过 Prettier 轻松配置。因此,我按照 Prettier 项目网站上的说明了解如何在我的文件中将文件观察器设置为 npm 脚本package.json:https ://prettier.io/docs/en/watching-files.html
"scripts": {
"prettier-watch": "onchange '**/*.js' -- prettier --write {{changed}}"
}
Run Code Online (Sandbox Code Playgroud)
我onchange按照文档中的建议使用该包作为文件观察器,并且在 WebStorm 中禁用了文件观察器,因为我不需要 Prettier 连续运行两次。
问题是,当我在 WebStorm 中保存文件时,onchange包可以正确运行 Prettier,但我在编辑器中看不到更改,即使我用鼠标光标切换出文件窗口然后再返回到文件窗口也是如此。当我尝试进行新的更改并再次保存时,我收到来自 WebStorm 的“文件缓存冲突”警告消息:“已对内存和磁盘中进行了更改。保留内存更改、显示差异、加载文件系统更改”
如果我选择“加载文件系统更改”,则 Prettier 保存的版本会成功加载。但每次保存时都必须看到这个对话框,这很烦人。我希望这些更改能够自动反映在 WebStorm 中。
似乎唯一的方法是使用 WebStorm 的内置文件观察器,但我没有一种简单的方法来为我的同事设置 Prettier,而不强迫他们手动安装自己的独立解决方案。
所以我的问题是:如何使用通用的 node.js 文件观察器作为 npm 脚本,在保存后对我的文件进行更改,并在没有此对话框的情况下自动将这些更改重新加载到 WebStorm 中?
对于webpack 的监视功能,watchOptions.ignored允许我指定要忽略的任何匹配模式,如下所示:
module.exports = {
//...
watchOptions: {
ignored: ['files/**/*.js', 'node_modules']
}
};
Run Code Online (Sandbox Code Playgroud)
是否可以使用任何匹配或正则表达式模式来指定不忽略的子node_modules文件夹?
在这种情况下,我需要忽略除以“”开头的所有子文件夹node_modules 之外的所有内容。node_modulesabc-
我正在尝试添加一个JavaScript库,该库仅包含在create-react-app生成的生产构建文件中。
最好的方法是什么?
具体来说,我试图包括Rollbar.js客户端错误监视库。我不希望它在开发/测试环境中每次出现错误时都触发,因此我只希望它包含在运行时生成的文件中npm run build。