我正在尝试在React组件中加载language.json文件。当我想导入json文件时,第一步出现以下错误。这是错误:
ERROR in ./app/languages.json
Module parse failed: /.../languages.json Unexpected token (1:12)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (1:12)
at Parser.pp.raise (........)
我正在使用webpack,这是配置文件:
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: ['./app/main.jsx'],
devtool: 'cheap-module-eval-source-map',
output: { path: __dirname+"/app", filename: 'bundle.js' },
module: {
loaders: [
{ test: /\.jsx?$/,
loader: 'babel-loader',
query: { presets: ['es2015', 'react'] },
include: path.join(__dirname, 'src')
}
]
}
};
并且我已经安装了以下软件包:
"babel-core": "^6.2.1",
"babel-loader": "^6.2.0",
"babel-preset-es2015": "^6.1.18",
"babel-preset-react": "^6.1.18"
这就是我尝试导入文件(ES6格式)的方式:
import lang_code from '../../app/languages.json';
另外,我检查了json文件格式并进行了验证!那么,您认为问题出在哪里?
azium是正确的,需要加载程序,但这是很好的配置:
npm命令
> npm install json-loader --save-dev
webpack.config.js
module.exports = {
....
resolve: {
extensions: ['', '.js', '.jsx', '.json']
},
...
module: {
...
{
test: /\.json$/,
loader: 'json'
}
...
}
}
通过将json
扩展名添加到resolve
,您无需在import
语句中指定扩展名。
问题内容: 我是React的新手,正在尝试从外部文件导入JSON 变量。我收到以下错误: 找不到模块“ ./customData.json” 有人可以帮我吗?如果我的变量位于外部JSON文件中,但没有该变量,则它可以工作。 index.js hobbies.js profile.js customData.json 问题答案: 一种不错的方法(不添加伪造的.js扩展名,用于代码而不用于数据和配置)
问题内容: 我想将CSS文件导入React组件。 我已经尝试过,但是下面出现错误; 找不到模块:错误:无法解析c:\ Users \ User \ User \ Documents \ pizza-app \ client \ src \ components @中的“文件”或“目录” ../../../public/styles/disabledLink。 /client/src/compone
问题内容: 我有一个带有ES6编写的组件的React应用程序-通过Babel和Webpack进行了编译。 在某些地方,我想包含特定CSS文件和特定组件,如react webpack手册中 所建议 但是,如果在任何组件文件中,我都需要静态CSS资产,例如: 然后编译失败并显示错误: 看来,如果我尝试在Component文件中要求CSS文件,那么Babel加载程序会将其解释为另一个来源,并尝试将CS
我试图在vue组件中导入一个json文件,但它给出了以下错误 ./~/buble-loader中出错?{“objectassign”:“object.assign”}!./~/vue-loader/lib/selector.js?type=script&index=0!找不到./resources/assets/src/app.vue模块:错误:无法解析“/var/www/html/mac/res
问题内容: 我有一个如下文件: 我正在尝试将其导入文件。为此,我将其添加到类型定义中: 我正在这样导入。 在文件中,我将颜色用作。但是我得到一个错误: 属性’primaryMain’在类型’typeof“ * .json”上不存在 问题答案: 导入表单和模块声明需要就模块的形状,导出的内容达成一致。 编写时(自TypeScript 2.9导入JSON时,针对兼容模块格式的一种次佳实践, 请参见no
问题内容: 与 哪个更好,为什么? 还是除了以后编写更少的代码外没有其他区别? 写作是否意味着只导入Component对象? 问题答案: 让您代替。它减少了React名称空间的键入和重复,这通常是一种理想的现代编码约定。 此外,Webpack 2和Rollup之类的工具会“摇晃”,这意味着任何未使用的导出都不会捆绑到您的最终代码中。使用/,您可以保证所有React的源代码都将被捆绑。使用,某些工具