【发布时间】:2015-11-10 17:14:06
【问题描述】:
我正在使用 Typescript、React 和 Webpack,并且正在努力导入 keymirror 模块。
我正在使用latest version of typescript。
package.json
{
"name": "Fun",
"version": "1.0.0",
"description": "Dear Webpack Gods, please help.",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "",
"dependencies": {
"eventemitter3": "^1.1.1",
"flux": "^2.0.3",
"keymirror": "^0.1.1",
"react": "^0.13.3",
"ts-loader": "^0.5.0",
"typescript": "^1.6.0-dev.20150812"
},
"devDependencies": {
"css-loader": "^0.16.0",
"style-loader": "^0.12.3"
}
}
webpack.config.js
module.exports = {
entry: './App/app.tsx',
output: {
filename: 'bundle.js'
},
resolve: {
extensions: ['', '.js', '.tsx', '.ts']
},
module: {
loaders: [
{ test: /\.ts(x?)$/, loader: 'ts-loader' },
{ test: /\.css$/, loader: 'style-loader!css-loader' }
]
}
}
tsconfig.json
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"jsx": "react",
"sourceMap": true
},
"files": [
"./typings/tsd.d.ts",
"./App/app.tsx"
]
}
有问题的导入位于 ./User/Constants.ts
import keyMirror = require('keymirror');
export = keyMirror({
LOGIN_ATTEMPT: null
});
我已尝试使用如上所示的standalone npm module,并尝试从 react/lib/keyMirror 中要求它。
有什么想法吗?
(编辑:是的,我知道这是一个 12 行的模块,我可以将其复制到我的代码中。)
来自 Basarat 的解决方案(稍作修改)
declare module 'keymirror' {
function keyMirror(obj: Object);
export = keyMirror;
}
【问题讨论】:
标签: import module typescript reactjs webpack