如何像在 typescript 中一样导入 js 文件中的模块?

Posted

技术标签:

【中文标题】如何像在 typescript 中一样导入 js 文件中的模块?【英文标题】:How to import modules in js files as you do in typescript? 【发布时间】:2018-08-13 02:11:05 【问题描述】:

所以基本上问题是这样的。我需要在我的 ionic v3 项目中使用一些 FCM cordova 插件,这个项目已经过修改,所以它基于 javascript

我需要能够像通常在打字稿文件中那样导入模块,我的意思是做这样的事情:

import  FCM  from '@ionic-native/fcm';

但是在js中,所以我可以在js中使用这些插件和组件的方法和功能

目前,我正在尝试使用 require.js,因为下面的人给了我这个想法:

var FCM = '@ionic-native/fcm';
require([FCM], function(fcmodule)
    // use module
)

但到目前为止它没有工作,我收到这些错误

【问题讨论】:

这也应该在JavaScript 中工作,但不是在所有浏览器中。你可以改用require() Typescript import/as vs import/require?的可能重复 但是如何在 Typescript 中捆绑模块?我认为使用 Typescript 或 Javascript 并不重要——捆绑器决定了你是否必须使用 importrequire 【参考方案1】:

有各种 AMD 库,其中一些是 systemjs,requireJS。

如果你使用requireJS,你可以使用var FCM=require('@ionmic-native/fcm');

如果您使用的是 es6+,那么您将获得 import 关键字的支持。

【讨论】:

所以使用这个库我应该能够导入和使用fcm的方法没有问题吧?

以上是关于如何像在 typescript 中一样导入 js 文件中的模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 vue js 中添加 css 和 html 就像在单独的文件中添加角度 css、html 和 typescript

如何将 plotly.js 导入 TypeScript?

如何在knock.js中指定绑定上下文,就像在knockout.js和WPF中一样

sqoop 是不是像在数据库中一样保留导入行的顺序

如何使用 TypeScript 导入自定义 node.js 插件模块

Node.js 和 Typescript,如何动态访问导入的模块