javascript - require() 不适用于变量 - 反应原生
问题描述
我遇到了一个奇怪的问题。如果我使用像这样的值设置一个变量 direclty “const myString = 'someWord';” 那行得通,但是如果我从像“const myString = someVariable;”这样的变量中获取值,那将不起作用,并且如果我在一个也不起作用的条件块上设置值。
所以,工作:
var jsonName = 'tramwayen';
const pathex = require('../assets/JSON/' + jsonName);
var json = JSON.parse(JSON.stringify(pathex));
不起作用:
var jsonName = variable;
const pathex = require('../assets/JSON/' + jsonName);
var json = JSON.parse(JSON.stringify(pathex));
不起作用:
var jsonName = '';
if (condition) {
jsonName = 'tramwayen';
}
const pathex = require('../assets/JSON/' + jsonName);
var json = JSON.parse(JSON.stringify(pathex));
我真的不明白。
我有这个错误:“第 41 行的无效调用:require('../assets/JSON/' + jsonName2)”
解决方案
大多数 JS 捆绑器无法处理动态require
导入。您可能想要加载所有文件,并将它们放在一个对象中:
let data = {
tramwayen: require('../assets/JSON/tramwayen.json'),
something: require('../assets/JSON/something.json'),
// and so on
};
并使用该data
对象检索您需要的数据。
推荐阅读
- sql - 如何在 PL/SQL Oracle 中计算?
- angular - 优先考虑单个#tooltipTemplate ngx-charts-line-chart 中的值
- swift - SwiftUI 中 ObjectBinding 和 List 的误导性错误
- amazon-web-services - 给 EKS 服务一个静态 IP
- c++ - 我如何知道线程是否在 C++ 中停止?
- php - 导航栏不会使用 php 突出显示当前页面
- sql - 如何在 ms-access 中将列的单个元素与表中的整行相乘?
- javascript - JavaScript:nodeJS:如何从非异步方法中的异步方法中的异步方法获取数据
- javascript - 带有 oAuth 2.0 服务器到服务器身份验证的 Google Sheets API v4 使用 javascript 中的服务帐户进行身份验证
- clojure - 如何按类型合并 clojure 列表中的项目?