【发布时间】:2017-02-07 18:36:01
【问题描述】:
我无法将 https://www.npmjs.com/package/mqtt 集成到我的 angular2 typescript 项目(使用 angular-cli 创建)中。
使用var mqtt = require('mqtt'); 会产生错误Cannot find name 'require'
因此,我尝试通过将 import 添加到 modules.ts 来使用 import(就像我通常那样):
import { mqtt } from 'mqtt/mqtt';
...
imports: [
BrowserModule,
FormsModule,
HttpModule,
mqtt
],
我也用import { MQTT } from 'mqtt/mqtt'; 和import { MqttClient } from 'mqtt/mqtt'; 尝试了这个(最后一个在mqtt.js 中导出
我什至尝试将它们导入类文件本身。
我很确定这是一个小错误,但我无法理解它。
(注意:“@types/node”:“^7.0.0”也已安装,因此this 也不起作用)
我的 tsconfig:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"isolatedModules": false,
"jsx": "react",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": false,
"noImplicitAny": false,
"noImplicitUseStrict": false,
"removeComments": true,
"noLib": false,
"preserveConstEnums": true,
"suppressImplicitAnyIndexErrors": true
},
"exclude": [
"node_modules",
"typings/browser",
"typings/browser.d.ts"
],
"compileOnSave": false,
"buildOnSave": false,
"atom": {
"rewriteTsconfig": false,
"formatOnSave": true
}
}
【问题讨论】:
-
你是在使用 angular-cli 还是手动管理所有的 webpack/ts 配置?
-
是的,我正在使用 angular-cli。 1个月前做webpack,最近换了。