小编san*_*der的帖子

ReferenceError:未定义 FileReader

我在我的index.js文件中使用这个:

const reader = new FileReader();
Run Code Online (Sandbox Code Playgroud)

我已将此 index.js 文件导入到我的index.html

<script src="index.js"></script>
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中打开 index.html 文件,一切正常。

但是,如果我尝试使用node index.jsnodemon index.js命令,则会收到错误。

ReferenceError: FileReader is not defined
Run Code Online (Sandbox Code Playgroud)

我可以在 vscode IDE 中看到 Filereader 来自“ lib.dom.d.ts”,如果我键入 chrome 检查控制台“FileReader”,我可以看到它存在。它似乎与 chrome 捆绑在一起。

有没有办法可以将此文件捆绑到 index.js 以便我可以运行node index.jsor nodemon index.js?或者我以错误的方式处理这个问题?我应该使用其他包而不是 FileReader 吗?目的是在浏览器中使用该包来读取文件。

google-chrome node.js

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

有什么方法可以将 VSCode 的 JavaScript 语法颜色传递给 IntelliJ/WebStorm 吗?

当我编写 JavaScript 或 React 时,我真的很喜欢 Visual Studio Code 语法颜色在编辑器中的显示方式。我想使用 WebStorm for JavaScript,但他们的 JavaScript 语法颜色不太好。这看起来似乎是一件小事,但对我来说 VSCode 比 WebStorm 更具可读性。

有什么帮助吗?

color-scheme webstorm visual-studio-code

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

错误:意外的令牌(请注意,您需要插件来导入非 JavaScript 的文件)

我有一个自定义依赖项,它是一个.ts文件。它包含enums,interfacesconsts,我像这样导入:

import type { inteface1, interface2} from "common";
Run Code Online (Sandbox Code Playgroud)

这工作完全正常,编译器不会给我任何错误。

如果我尝试从相同的依赖项进行导入,如下所示:

import { paths } from "common";
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

[!] 错误:意外的标记(请注意,您需要插件来导入非 JavaScript 的文件)node_modules/common/types.ts (1:7)

这两个导入都来自同一个文件,但由于某种原因,尝试导入 aconstenum不起作用,而导入 ainterface有效。唯一的区别似乎是 import 时interface有关键字type

rollup.config.js

typescript({
        sourceMap: !production,
        rootDir: "./src",
        exclude: ['node_modules/**']
    }),
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
    "extends": "@tsconfig/svelte/tsconfig.json",
  
    "include": ["src/**/*"],
    "exclude": ["node_modules/*", "__sapper__/*", "public/*"],
  }
Run Code Online (Sandbox Code Playgroud)

我正在使用命令运行

rollup -c -w
Run Code Online (Sandbox Code Playgroud)

版本:

"@rollup/plugin-typescript": "^9.0.0",
Run Code Online (Sandbox Code Playgroud)

我正在导入的文件 ( types.ts):

export interface interface1{
    field1: …
Run Code Online (Sandbox Code Playgroud)

typescript rollupjs svelte

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

React Router路由在Nginx create-react-app上不起作用

我正在使用"react-router-dom": "^4.2.2"

如果我测试,localhost:3000/second它会完美运行。

当我使用nginx在ubuntu服务器上上传此文件并尝试时www.website.com,它可以工作。当我尝试使用www.website.com/second它时,它给了我404 not found。我正在使用create-react-app

app.js

class TestRoutes extends React.Component{
    constructor(props){
        super(props);
    }
    render(){
        return(<React.Fragment>
            <BrowserRouter>
                <Switch>
                    <Route exact path='/' component={MainPage}/>
                    <Route path='/second' component={SecondPage}/>
                    <Route path='/third' component={ThirdPage}/>
                </Switch>
            </BrowserRouter>
                </React.Fragment>);
    }
}

ReactDOM.render(<TestRoutes/>, document.getElementById("root"));
Run Code Online (Sandbox Code Playgroud)

/ etc / nginx / sites-available / default 这是服务器上的配置文件

server {
        listen 443 ssl;

    root /var/www/reactcamera/build;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;
    server_name website.com …
Run Code Online (Sandbox Code Playgroud)

nginx reactjs react-router create-react-app

4
推荐指数
1
解决办法
5101
查看次数

Svelte 动态多组件阵列

编辑:REPL 答案https://svelte.dev/repl/eb7616fd162a4829b14a778c3d1627e4?version=3.48.0

我所说的会导致这样的情况:

首先我们有一个按钮:

<button on:click={add}> Add </button>
<div id="columnflexbox">
Run Code Online (Sandbox Code Playgroud)

当我点击它时,应该会发生以下情况:

<button on:click={add}> Add </button>
<!-- This exists in DOM-->
<div id="columnflexbox">

<!-- This div and components get rendered, the Div does not exist in DOM -->
<div class="row" style="display:flex;flex-direction:row">
comp1 (instance1) 
comp2 (instance1)
</div>
Run Code Online (Sandbox Code Playgroud)

当我再次单击它时,会添加另一行(带有新实例):添加

<div id="columnflexbox">


<div class="row" style="display:flex;flex-direction:row">
comp1 (instance1) 
comp2 (instance1)
</div>
<!-- Second div is generated, it does not exist in DOM, new instances of components -->
<div class="row" style="display:flex;flex-direction:row">
comp1 (instance2)
comp2 (instance2) …
Run Code Online (Sandbox Code Playgroud)

typescript svelte

4
推荐指数
1
解决办法
2063
查看次数

React 文档中的mutation 是什么意思?

<ul>
  <li>first</li>
  <li>second</li>
</ul>

<ul>
  <li>first</li>
  <li>second</li>
  <li>third</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

React 将匹配第一棵树,匹配第二棵树,然后插入第三棵树。

<ul>
  <li>Duke</li>
  <li>Villanova</li>
</ul>

<ul>
  <li>Connecticut</li>
  <li>Duke</li>
  <li>Villanova</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

React 会改变每个子树,而不是意识到它可以保持 DukeVillanova子树的完整。这种低效率可能是一个问题。

我很难理解他们所说的“React 会改变每个孩子”的意思。

这可以从他们的网站上找到:https : //reactjs.org/docs/reconciliation.html#recursing-on-children

reactjs react-dom

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

试图将Linq除以零

我试图根据列的总和以及有多少列来计算平均值.

每部电影都可以有一个电影,我试图将电影放在一起,然后将它们除以收视率以获得电影的平均评分.

(reviews.Where(w => w.MovieID == m.MovieID).Sum(o => o.MovieRating)) / reviews.Where(z => z.MovieID == m.MovieID).Count();
Run Code Online (Sandbox Code Playgroud)

但问题是,如果计数为0.我能做些什么呢?

c# linq

3
推荐指数
2
解决办法
372
查看次数

使用 ngFor Angular 创建复选框列表

我有一个结构如下的对象列表:

[{item},{item},{item}]
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个带有角度的复选框列表,如下所示:

<form>
     <input *ngFor="let object of objects" type="checkbox"> {{object.name}}
</form>
Run Code Online (Sandbox Code Playgroud)

复选框本身确实显示了,但我无法获取每个复选框中显示的对象的名称。我究竟做错了什么?

checkbox angular-template angular angular-ngfor

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

类型'{Property:string,Property2:string}不能分配给Observable <Filters []>类型

我有一个方法:

getFilters(): Observable<Filters[]> {
    let filters: Observable<Filters[]> = [
      {
        property: "Value",
        property2: "Value2"
     },
     {
       property: "Value3",
       property2: "Value4"
     }
  return filters;
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

类型'{Property:string,Property2:string}不能分配给Observable类型.

observable typescript angular

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

重复声明TypeScript Getter Setter

我正在尝试为TypeScript中的字段创建一个getter和setter.

searchFilter: string;

get searchFilter(): string {
  return this.searchFilter;
}

set searchFilter(value: string) {
  this.searchFilter = value;
}
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

Duplicate identifier 'searchFilter'.
Run Code Online (Sandbox Code Playgroud)

我在Angular项目中使用TypeScript.

@angular/cdk: 6.0.1
@angular/cli: 1.7.4
typescript: 2.5.3
Run Code Online (Sandbox Code Playgroud)

getter setter typescript angular

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