打字稿错误找不到名称'require'。离子 3
Posted
技术标签:
【中文标题】打字稿错误找不到名称\'require\'。离子 3【英文标题】:Typescript Error Cannot find name 'require'. IONIC 3打字稿错误找不到名称'require'。离子 3 【发布时间】:2017-11-09 12:37:41 【问题描述】:打字稿错误 找不到名称“要求”。 C:/Users/me/project/src/pages/home/home.ts // 需要 Twilio 模块并创建一个 REST 客户端
const client = require('twilio')(accountSid, authToken);
离子框架:3.3.0
Ionic 应用脚本:1.3.7
Angular 核心:4.1.2
Angular 编译器 CLI:4.1.2
节点:6.10.3
操作系统平台:Windows 10
导航平台:Win32
用户代理:Mozilla/5.0(Windows NT 10.0;Win64;
ts code
home.ts 中的代码:
顶部
import Component from '@angular/core';
import FirebaseProvider from './../../providers/firebase/firebase';
import FirebaseListObservable from 'angularfire2/database';
import NavController, NavParams from 'ionic-angular';
import BarcodeScanner ,BarcodeScannerOptions from '@ionic-native/barcode-scanner';
import Request from '@angular/http';
@Component(
selector: 'home',
templateUrl: 'home.html',
)
//警报功能
scanAlert()
this.options =
showFlipCameraButton : true,
formats : "QR_CODE,PDF_417",
prompt : "SCAN QR CODE "
this.barcodeScanner.scan(this.options).then((barcodeData) =>
console.log(barcodeData);
this.pinText = barcodeData.text;
const uid = this.pinText;
this.firebaseProvider.afd.database.ref('pins')
.orderByChild('QRCODE')
.equalTo(uid)
.limitToFirst(1)
.once('value', snap =>
let key = Object.keys(snap.val())[0]; // KEY VALUE
let user = snap.child(key).val(); // the whole user object
this.message = 'Parameters to send to twilio' + user.phone +
'regarding'+user.message;
const accountSid = 'myacctid';
const authToken = 'mytoken';
// require the Twilio module and create a REST client
const client = require('twilio')(accountSid, authToken);
client.messages
.create(
to: '+142mynumber ',
from: '+mysms trial#',
body: 'TEST Alert Message !',
)
.then((message) => console.log(message.sid));
我遵循了这些步骤
安装需要--save
和
npm install @types/node --save-dev
我的问题是没有发送消息。
如果我添加
declare var require: any
错误消失了,但 twilio 从未收到发送消息的请求。 enter image description here
我找不到任何有关 Ionic3 或 Angular 和 twilio 发送短信的教程 我什至没有传递参数,我复制了
我也试过了
var twilio = require('twilio');//Make sure to npm install @types/node
var accountSid = 'myacctid'; // Your Account SID from www.twilio.com/console
var authToken = 'myauthtoken'; // Your Auth Token from www.twilio.com/console
var client = new twilio(accountSid, authToken);
client.messages.create(
body: 'ALERT! Someone has scanned the Alert Code for ',
to: '+myphone' ,// Text this number
from: '+myTwilioTrial#' // From a valid Twilio number
)
.then((message) => console.log(message.sid));
我的 tsconfig.json:
"compilerOptions":
"allowSyntheticDefaultImports": true,
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [
"dom",
"es2015"
],
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"target": "es5"
,
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules"
],
"compileOnSave": false,
"atom":
"rewriteTsconfig": false
【问题讨论】:
【参考方案1】:添加:
"types": [
"node"
],
"typeRoots": [
"node_modules/@types"
]
在 tsconfig.json 文件中
【讨论】:
仅供参考,您需要将其放在compilerOptions
下。【参考方案2】:
@types/节点
如果tsconfig.json
中有module: node
,@types
效果最好。
更多
电位设置https://basarat.gitbooks.io/typescript/content/docs/quick/browser.html【讨论】:
npm install @types/node --save-dev 我在我的项目中这样做了这里是我的 tsconfig.json以上是关于打字稿错误找不到名称'require'。离子 3的主要内容,如果未能解决你的问题,请参考以下文章
打字稿错误使用googlemaps javascript API时在ionic2中找不到名称'google'