【发布时间】:2016-10-24 22:30:09
【问题描述】:
我正在尝试让 typescript 和 lodash 在我的应用程序中工作,但是当我运行时
tsc --module commonjs lodash-test.ts
我总是得到
lodash-test.ts(2,20):错误 TS2307:找不到模块“lodash”。
这仍然会产生一个 lodash-test.js 文件
"use strict";
//lodash test that will be injected in index.html
var _ = require("lodash");
console.log('This is your lodash ts file');
console.info(_.chunk(['a', 'b', 'c', 'd'], 2));
现在当我在浏览器中运行我的 index.html 文件时,我得到了
lodash-test.js:3 Uncaught ReferenceError: require is not defined
在文件的第 3 行。
Index.html 文件
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title></title>
<script type="text/javascript" src="bower_components/lodash/dist/lodash.min.js"></script>
<script type="text/javascript" src="lodash-test.js"></script>
</head>
<body>
<h3>Hey</h3>
</body>
</html>
我的类型文件夹中有 lodash 类型定义。如何确保 Typescript 可以找到这个 lodash/index.d.ts 文件?另外如何解决“require is not defined”错误?
这是我的文件结构:
感谢您的帮助
【问题讨论】:
-
尝试在 TypeScript 文件的顶部使用
/// <reference path="" />命令导入d.ts类型文件。因为现在,tsc已经知道你有打字文件。所以它找不到它。 -
@Blackus 我已将我的 lodash-test.ts 更改为 imgur.com/n8Kp5pv,它产生了图像右侧的内容。我还删除了 index.html 中的
标签: javascript typescript lodash