我只想在当前项目中使用外部模块,所以我用npm安装了typings
。我下载了d3
并遇到了问题。
在Application.ts
文件中我有:
import * as d3 from "d3"
Sublime Text 3强调"d3"
未找到。我可以用tsconfig编译它,如下所示:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"outDir": "built"
},
"files": [
"src/Application.ts",
"typings/index.d.ts"
]
}
但是,当我尝试使用browserify时,它会告诉我Cannot find module 'd3' from 'path_to_project\built'
。
理想情况下,我想改进我的gulpfile任务来处理它。
gulp.task("default", function () {
return browserify({
basedir: ".",
debug: true,
entries: ["src/Application.ts"],
cache: {},
packageCache: {}
})
.plugin(tsify)
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest("js"));
});
我做错了什么?我的typings.json
是:
{
"dependencies": {
"d3": "registry:npm/d3#3.0.0+20160211003958"
}
}
更新
我通过npm i d3
下载了d3,现在gulp正常工作。但是有没有可能选择browserify查找模块的目录?似乎模块必须位于node_modules
目录下。