Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS工具到Typescript_Javascript_Angular_Typescript_Ionic2_Ionic3 - Fatal编程技术网

Javascript JS工具到Typescript

Javascript JS工具到Typescript,javascript,angular,typescript,ionic2,ionic3,Javascript,Angular,Typescript,Ionic2,Ionic3,最近我正在将我的Ionic1项目迁移到Ionic2。有趣! 目前的一个障碍是将一长串用JS编写的工具函数迁移到Ionic2项目中,例如CmToFeet/InchesToCM/Farenheitocelius。 我不知道如何在项目中正确地包含这些文件,并确保在构建过程中考虑它们。我是否可以将它们包含在index.html中,它们将自动可用?我需要做更多吗? 有什么建议吗?最简单的方法之一就是将其视为另一项资产。为此,您可以在src/assets/scripts中创建一个文件夹,将这些js文件放在那

最近我正在将我的
Ionic1
项目迁移到
Ionic2
。有趣! 目前的一个障碍是将一长串用JS编写的工具函数迁移到Ionic2项目中,例如
CmToFeet
/
InchesToCM
/
Farenheitocelius
。 我不知道如何在项目中正确地包含这些文件,并确保在构建过程中考虑它们。我是否可以将它们包含在
index.html
中,它们将自动可用?我需要做更多吗?
有什么建议吗?

最简单的方法之一就是将其视为另一项资产。为此,您可以在
src/assets/scripts
中创建一个文件夹,将这些js文件放在那里,然后在
index.html
文件中添加脚本标记,如下所示:

<script src="assets/scripts/jsFileName.js"></script>

请注意,通过这样做,自动完成功能将不起作用,因为它被声明为类型
any

。据我所知,用新创建的ionic2项目复制ionic1项目将更快/更容易,并避免你撞到墙上。因为从ionic1->ionic2这是一个巨大的结构变化,当你将typescript添加到组合中时,情况会更糟。但那可能只是我:)但这与他的问题无关;)要包含外部javascript,您只需将其包含在
index.html
中,如果它导出某个成员,您可以在
导入…
下,但在
@组件上声明它,并使用
声明var CmToFeet:any用于example@sameera207-我很乐意避免所有TS的东西,但是本机的ionic2功能要好得多。是的,我正在复制这个项目,但是我想保留的工具库。@ivaro18-你能给我发一个链接到一个例子吗?你的意思是什么?我必须用装饰器扩展我的JS代码吗?你能给一个例子添加一个链接吗?你的意思是什么?那太棒了。好吧,我明白了。这样,它们将自动添加到构建过程中。JS文件只是一个松散的函数集合,没有结构。因此,我将它们称为
cmToFeet()
feetToCM()
,没有前导的
ModuleName
。很高兴听到这个消息:)
import {... } from '...';

declare var CmToFeet: any; // <- Like this

@Component({
    selector:'my-page',
    templateUrl: 'my-page.html',
})
export class MyPage {

  // ...

}