【发布时间】:2017-05-22 15:55:25
【问题描述】:
我陷入困境并寻求帮助。
我不确定问题到底出在哪里,但我希望能找到答案。 ????
问题详情
我已经使用以下命令安装了“@types/lodash”:
npm install --save-dev @types/lodash
并在我的 .ts 文件中导入 lodash:
import * as _ from '@types/lodash';
当我运行 webpack 时出现以下错误:
ERROR in ./app/scripts/Components/GameBoard.ts
Module not found: Error: Cannot resolve module '@types/lodash' in /Users/mjelaska/Documents/DevProjects/connect-four/src/app/scripts/Components
@ ./app/scripts/Components/GameBoard.ts 3:8-32
然后我尝试使用
获取更多详细信息webpack --display-error-details
得到了⇣
ERROR in ./app/scripts/Components/GameBoard.ts
Module not found: Error: Cannot resolve module '@types/lodash' in /Users/mjelaska/Documents/DevProjects/connect-four/src/app/scripts/Components
resolve module @types/lodash in /Users/mjelaska/Documents/DevProjects/connect-four/src/app/scripts/Components
looking for modules in /Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules
resolve 'file' or 'directory' lodash in /Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types
resolve file
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.webpack.js doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash is not a file
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.web.js doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.ts doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.js doesn't exist
resolve directory
directory default file index
resolve file index in /Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.webpack.js doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.web.js doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.ts doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.js doesn't exist
use from package.json
resolve 'file' or 'directory' /Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash
resolve file
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash is not a file
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.webpack.js doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.web.js doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.ts doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.js doesn't exist
resolve directory
use from package.json
abort resolving because of recursion
directory default file index
resolve file index in /Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.webpack.js doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.web.js doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.ts doesn't exist
/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.js doesn't exist
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.webpack.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.web.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.ts]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.webpack.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.web.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.ts]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.webpack.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.web.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.ts]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.webpack.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.web.js]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.ts]
[/Users/mjelaska/Documents/DevProjects/connect-four/src/node_modules/@types/lodash/index.js]
@ ./app/scripts/Components/GameBoard.ts 3:8-32
设置详情
package.json(没有一些不相关的信息)
{
"devDependencies": {
"@types/lodash": "^4.14.47",
"@types/node": "^6.0.55",
"@types/pixi.js": "^4.3.1",
"npm": "^4.0.5",
"ts-loader": "^1.3.3",
"typescript": "^2.1.4",
"webpack": "^1.14.0"
}
}
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": true,
"sourceMap": false,
"removeComments": true,
"typeRoots": [
"./node_modules/@types"
]
},
"files": [
"./app/scripts/main.ts"
]
}
webpack.config.js
module.exports = {
entry: './app/scripts/main.ts',
output: {
filename: './build/scripts/main.js'
},
resolve: {
extensions: ['', '.webpack.js', '.web.js', '.ts', '.js']
},
module: {
loaders: [
{
test: /\.ts$/,
loader: 'ts-loader'
}
]
}
};
环境详情
node: v6.9.4
npm: v4.0.5
webpack: v1.14.0 (as seen in `package.json`, installed also globally)
问题发生时的项目:https://github.com/MiroslavJelaska/connect-four/tree/4941ca792096602831940f76fa350e461808a8c5
⬆️ 更新 #1
将 lodash 安装到依赖项而不是 devDependencies 没有帮助:
npm install --save @types/lodash
【问题讨论】:
-
可能只是我以前从未见过它,但据我所知,您只需以这种方式安装 lodash(基于我所看到/所做的并根据它上面的 npm 文档) ): $ npm i -g npm $ npm i --save lodash 然后你只需导入“lodash”。 “@types”的目的是什么?它似乎在你的应用程序中抛出了模块分辨率。
-
@TimConsolazio 我尝试使用 --save 进行安装,但没有任何区别。 “@types”是 TypeScript 类型定义的 DefinitiveTyped 项目的前缀。这是 GitHub 存储库:github.com/DefinitelyTyped/DefinitelyTyped
-
您是否尝试过仅使用基本命令“npm install lodash --save-dev”安装它,然后按原样导入它,而无需使用 distinctlyTyped 内容。也许肯定类型的东西(我对此一无所知)正在抛弃它。请注意,这些细节(除了基本安装之外您正在做的事情)会有所帮助,这实际上可能是某种类型的肯定类型(无论它是/应该做什么)问题。
-
@TimConsolazio 你能写出你想到的整个导入语句吗?
-
我刚刚查看了您指定的项目的 .md。你确定这在 Angular 2 中有效吗?据我所知,该文档仅谈论 Angular JS。搜索整个文档只显示“Angular JS”,它从未在任何地方说“Angular 2”、“Angular2”等。有时看起来它可能在谈论 Angular 2,但据我所知,它从来没有说清楚.
标签: typescript webpack lodash definitelytyped