我在我的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.js
或nodemon 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.js
or nodemon index.js
?或者我以错误的方式处理这个问题?我应该使用其他包而不是 FileReader 吗?目的是在浏览器中使用该包来读取文件。
当我编写 JavaScript 或 React 时,我真的很喜欢 Visual Studio Code 语法颜色在编辑器中的显示方式。我想使用 WebStorm for JavaScript,但他们的 JavaScript 语法颜色不太好。这看起来似乎是一件小事,但对我来说 VSCode 比 WebStorm 更具可读性。
有什么帮助吗?
我有一个自定义依赖项,它是一个.ts
文件。它包含enums
,interfaces
和consts
,我像这样导入:
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)
这两个导入都来自同一个文件,但由于某种原因,尝试导入 aconst
或enum
不起作用,而导入 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) 我正在使用"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) 编辑: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) <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 会改变每个子树,而不是意识到它可以保持 Duke和Villanova子树的完整。这种低效率可能是一个问题。
我很难理解他们所说的“React 会改变每个孩子”的意思。
这可以从他们的网站上找到:https : //reactjs.org/docs/reconciliation.html#recursing-on-children
我试图根据列的总和以及有多少列来计算平均值.
每部电影都可以有一个电影,我试图将电影放在一起,然后将它们除以收视率以获得电影的平均评分.
(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.我能做些什么呢?
我有一个结构如下的对象列表:
[{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)
复选框本身确实显示了,但我无法获取每个复选框中显示的对象的名称。我究竟做错了什么?
我有一个方法:
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类型.
我正在尝试为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) typescript ×4
angular ×3
reactjs ×2
svelte ×2
c# ×1
checkbox ×1
color-scheme ×1
getter ×1
linq ×1
nginx ×1
node.js ×1
observable ×1
react-dom ×1
react-router ×1
rollupjs ×1
setter ×1
webstorm ×1