首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法正确阅读config.json (TypeScript,Webpack)

无法正确阅读config.json (TypeScript,Webpack)
EN

Stack Overflow用户
提问于 2016-08-17 14:22:02
回答 3查看 5.5K关注 0票数 1

更新:问题由这个公关修复

要注意问题出现的原因和普通纯JavaScript方法无法解决的原因可能是server.ts正在使用TypeScriptWebpack。查查甘特的答案。并在github上跟踪本期

我正在使用角/万向起动器作为启动程序。我有一个文件config.json

代码语言:javascript
复制
{
  "api": "123"
}

当我读config in server.ts

代码语言:javascript
复制
import * as config from '../config.json';
// const config = require('../config.json');  will be same result
console.log(config);

它在航站楼上显示了这一点:

代码语言:javascript
复制
{
  "api": "123"
}

然而,当我尝试阅读config.api in server.ts

代码语言:javascript
复制
import * as config from '../config.json';
// const config = require('../config.json');  will be same result
console.log(config.api);

它显示了undefined

这是我的文件夹结构(其他部分与角/万向起动器相同)。

代码语言:javascript
复制
my-app
  - config.json
  + src
    - server.ts

当我启动应用程序时,我使用npm start

是什么原因造成的?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-17 15:32:16

您的配置文件由webpack内联,因此它遵循ES6模块规范,并将JSON作为字符串返回,而不是像您预期的那样返回一个对象。

你和webpack一起建立服务器是有原因的吗?

票数 3
EN

Stack Overflow用户

发布于 2016-08-17 15:10:43

更新:问题由这个公关修复

要注意问题出现的原因和普通纯JavaScript方法无法解决的原因可能是server.ts正在使用TypeScriptWebpack。查查甘特的答案。并在github上跟踪本期

我发现了问题:

代码语言:javascript
复制
import * as config from '../config.json';
// const config = require('../config.json'); also works


const json = JSON.parse(config);  // <- need this line
console.log(json.api);  // 123
票数 1
EN

Stack Overflow用户

发布于 2016-08-17 16:15:35

方法1是错误的,因为它与问题配置不匹配。问题中的webpack配置对json文件使用原始加载程序,而这个答案是使用json加载器。

使用方法2

两种方法均用nodejs + webpack进行测试。

方法1

代码语言:javascript
复制
var config = require(__dirname + '/config.json');
console.log(config['api']);

方法2

代码语言:javascript
复制
var config = JSON.parse(fs.readFileSync(__dirname + '/config.json', 'utf8'));
console.log(config.api);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38999316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档