我正在尝试使其工作,但似乎无法在SO的任何地方找到解决方案。尝试编译此单文件应用程序时:
import http = require('http')
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
使用命令“ tsc app.ts –module’commonjs’”,我得到以下错误(不使用–
module标志给我一个额外的错误,告诉我我需要它来编译外部模块):
error TS2071: Unable to resolve external module '"http"'.
error TS2072: Module cannot be aliased to a non-module type.
TypeScript需要知道它http
存在。
为节点安装类型definitinos:
npm install @types/node
遵循这两个步骤
node.d.ts
从此处下载文件:https : //github.com/borisyankov/DefinitelyTyped/tree/master/node/// <reference path="node.d.ts" />
PS:请参阅示例测试文件:https : //github.com/borisyankov/DefinitelyTyped/blob/master/node/node-
tests.ts
本文向大家介绍TypeScript 从npm导入模块,包括了TypeScript 从npm导入模块的使用技巧和注意事项,需要的朋友参考一下 示例 如果模块具有类型定义文件(d.ts),则可以使用import语句。 如果您没有模块的定义文件,TypeScript将在编译时抛出错误,因为它找不到您要导入的模块。 在这种情况下,可以使用正常的运行时require功能导入模块。但是,这将其返回为any类型
我得到了这个错误时,试图从另一个javascript文件导入。这是我第一次尝试这样的东西。主文件是,模块文件是。 main.js: 摩登派青年js: 我怎样才能解决这个问题?谢谢
模块“Transformer”解析为非模块实体,不能使用此构造导入。 如何导入类?其实我只是想利用那堂课。我不希望指令在我的代码中产生附带效应。我只想用它:'(
长话短说,我试图在CommonJS模块中使用一个只有ES6模块入口点的npm包,即(GitHub),因为我的整个50多个模块的应用程序都是在CommonJS中构建的。根据节点文档,这样做的标准方法是使用函数。我使用以下代码尝试了这种方法: 但是,这会导致包出错,而不一定是上面的导入函数: 有没有一种方法可以绕过这个问题,这样我就可以在CommonJS模块中使用这个包了?
我使用的是TypeScript(1.6),节点位于--harmony标志下,因此我希望将es6模块语法转换到commonJS。 据我所知,我不能用Typescript1.6来做这件事。如果我将目标设置为es6,将模块设置为commonjs,我会得到一个TypeScript错误- 当目标为“ES6”或更高版本时,无法将模块编译为“commonjs”、“amd”、“system”或“umd”。 为什么
问题内容: 我试图在节点中陷入进口的泥潭,并试图使用此示例中提供的语法: [备忘单链接](https://hackernoon.com/import-export-default-require-commandjs- javascript-nodejs-es6-vs-cheatsheet-different-tutorial-example-5a321738b50f) 我正在浏览支持表,但无法找到