我目前遇到了一个奇怪的错误。我正在尝试使用带有json-loader的导入加载json文件。
import * as ApiConfig from "../../src/conf.json";
我创建了一个typings.d.ts来定义css和json模块。
declare module "*.json" {
const value: any;
export default value;
}
declare module "*.css" {
const content: any;
export default content;
}
当我没有在我的WebStorm中打开我的typings.d.ts文件时出现此错误
Error:(1, 28) TS2307:Cannot find module '../../src/conf.json'.
但是当我打开它时,我没有这个错误。
这是我的tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es2015",
"jsx": "react",
"sourceMap": true,
"allowJs": true,
"experimentalDecorators": true
},
"exclude": [
"node_modules"
]
}
以下是我的webpack.config.js中的加载器
loaders: [
{
exclude: [
/\.html$/,
/\.(js|jsx)$/,
/\.css$/,
/\.json$/,
/\.svg$/
],
loader: 'url-loader',
query: {
limit: 10000,
name: 'static/media/[name].[hash:8].[ext]'
}
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [ path.resolve(__dirname, '../') ],
exclude: [ path.resolve(__dirname, 'bundles') ],
query: {
presets: ['react', 'es2015'],
plugins: ['transform-decorators-legacy'],
cacheDirectory:true
},
exclude: /(node_modules|bower_components)/
},
{
test: /\.css$/,
include: [ path.resolve(__dirname, '../') ],
exclude: [ path.resolve(__dirname, 'bundles') ],
loader: "style-loader!css-loader"
},
{
test: /\.svg$/,
loader: "svg-loader"
},
{
test: /\.json$/,
loader: "json-loader"
}
]
由于
答案 0 :(得分:1)
这实际上是WebStorm中的一个错误,它已在2017.1.1版本中得到修复。
答案 1 :(得分:0)
使用 var 代替导入。
var json = require('../../src/conf.json');