将 javascript 库导入我在 Angular2 项目中使用的自定义 javascript 文件
Import a javascript library into a custom javascript file which I use in my Angular2 project
我想通过 JavaScript 的 "synaptic.js" 库将机器学习包含在我的 Angular2 项目中。我已经通过命令安装了库
npm install synaptic --save
我想要运行以下自定义javascript文件(myJsFile.js):
function myFunction() {
var A = new Layer(5);
var B = new Layer(2);
A.project(B);
var learningRate = .3;
for (var i = 0; i < 20000; i++)
{
// when A activates [1, 0, 1, 0, 1]
A.activate([1,0,1,0,1]);
// train B to activate [0,0]
B.activate();
B.propagate(learningRate, [0,0]);
}
// test it
A.activate([1,0,1,0,1]);
console.log(B.activate()); // [0.004606949693864496,0.004606763721459169]
}
在我的 index.html 文件中,我包含了以下代码:
<script src="js/myJsFile.js"></script>
在我的app.component.ts文件中
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { AuthenticationService } from '../../Services/authentication.service';
declare var myFunction: any;
@Component({
moduleId: module.id,
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit {
// some code here
// I call f() function inside the app.component.html file in order to run the myFunction() javascript function.
f() {
new myFunction();
}
例如,如果 alert() 函数在 myJsFile.js 文件,代码将 运行 没有任何问题。但就我而言,我有以下错误:
app.component.html:9 ERROR ReferenceError: Layer is not defined
这意味着我必须在某处导入突触库。
github (https://github.com/cazala/synaptic) 中的用法部分指出以下内容:
var synaptic = require('synaptic'); // this line is not needed in the browser
var Neuron = synaptic.Neuron,
Layer = synaptic.Layer,
Network = synaptic.Network,
Trainer = synaptic.Trainer,
Architect = synaptic.Architect;
如果我将上面的代码导入我的 myJsFile.js,我会收到以下错误:
myJsFile.js:1 Uncaught ReferenceError: require is not defined
我应该在哪里导入突触库以及如何导入?
我也找到并安装了synaptic.d.ts文件,但我不知道如何使用它。 . 谁能帮帮我??
非常感谢您的宝贵时间!
您的示例可能正在使用 Node,要与 Angular 2+ 一起使用,您需要使用导入语法。
例如
import { Neuron, Layer, Network, Trainer, Architect} from 'synaptic';
那你应该可以参考它们
我还建议将您的 myJsFile.js
文件制作成 ts 文件并以相同的方式导入。如果所有内容都在 js 中而不是在 html.
中导入,那就更简单了
我想通过 JavaScript 的 "synaptic.js" 库将机器学习包含在我的 Angular2 项目中。我已经通过命令安装了库
npm install synaptic --save
我想要运行以下自定义javascript文件(myJsFile.js):
function myFunction() {
var A = new Layer(5);
var B = new Layer(2);
A.project(B);
var learningRate = .3;
for (var i = 0; i < 20000; i++)
{
// when A activates [1, 0, 1, 0, 1]
A.activate([1,0,1,0,1]);
// train B to activate [0,0]
B.activate();
B.propagate(learningRate, [0,0]);
}
// test it
A.activate([1,0,1,0,1]);
console.log(B.activate()); // [0.004606949693864496,0.004606763721459169]
}
在我的 index.html 文件中,我包含了以下代码:
<script src="js/myJsFile.js"></script>
在我的app.component.ts文件中
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { AuthenticationService } from '../../Services/authentication.service';
declare var myFunction: any;
@Component({
moduleId: module.id,
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit {
// some code here
// I call f() function inside the app.component.html file in order to run the myFunction() javascript function.
f() {
new myFunction();
}
例如,如果 alert() 函数在 myJsFile.js 文件,代码将 运行 没有任何问题。但就我而言,我有以下错误:
app.component.html:9 ERROR ReferenceError: Layer is not defined
这意味着我必须在某处导入突触库。 github (https://github.com/cazala/synaptic) 中的用法部分指出以下内容:
var synaptic = require('synaptic'); // this line is not needed in the browser
var Neuron = synaptic.Neuron,
Layer = synaptic.Layer,
Network = synaptic.Network,
Trainer = synaptic.Trainer,
Architect = synaptic.Architect;
如果我将上面的代码导入我的 myJsFile.js,我会收到以下错误:
myJsFile.js:1 Uncaught ReferenceError: require is not defined
我应该在哪里导入突触库以及如何导入?
我也找到并安装了synaptic.d.ts文件,但我不知道如何使用它。 . 谁能帮帮我??
非常感谢您的宝贵时间!
您的示例可能正在使用 Node,要与 Angular 2+ 一起使用,您需要使用导入语法。
例如
import { Neuron, Layer, Network, Trainer, Architect} from 'synaptic';
那你应该可以参考它们
我还建议将您的 myJsFile.js
文件制作成 ts 文件并以相同的方式导入。如果所有内容都在 js 中而不是在 html.