我正在尝试导入位于node_modules内部库子文件夹内的json文件,而打字稿却说找不到子文件夹。
该库是cldr-data,我需要的特定路径是cldr-data / supplemental / likelySubtags.json。
我尝试了以下导入:
import likelySubtags from 'cldr-data/supplemental/likelySubtags.json';
import likelySubtags from './../../node_modules/cldr-data/supplemental/likelySubtags.json';
但都给出错误:[ts]找不到模块。奇怪的是它可以找到cldr数据,但是找不到辅助文件夹。我不确定如何使它找到补充/。
答案 0 :(得分:0)
您需要预先在var contextMenus = {};
//creates a context menu WHEN selection is made
contextMenus.createSelectText =
chrome.contextMenus.create(
{"title":"Search for '%s'",
"contexts": ["selection"],
},
function (){
if(chrome.runtime.lastError){
console.error(chrome.runtime.lastError.message);
}
}
);
chrome.contextMenus.onClicked.addListener(sendServiceRequest);
chrome.extension.onRequest.addListener(function(tab){
chrome.tabs.sendRequest(tab.id, {method: "getSelection"}, function(response){
sendServiceRequest(response.data);
});
});
function sendServiceRequest(info, selection) {
var serviceCall = 'https://news.google.com/search?q=' + JSON.stringify(info.selectionText);
chrome.tabs.create({url:serviceCall});
console.log(serviceCall);
}
中准备带有附加标志的应用程序。您应该添加其他编译器选项:
ResolveJSONModule
chrome.extension.onRequest.addListener(function(request, sender, sendResponse){
if(request.method == "getSelection")
else
sendResponse({});
})
允许导入,提取.json文件中的类型。
ESModuleInterop
tsconfig.json
允许从模块进行默认导入,而没有默认导出。这是必需的,因为.json文件没有默认输出。
--resolveJsonModule
现在在组件中,您可以使用:
--esModuleInterop