angular无法找到node_modules库子文件夹

时间:2019-10-25 18:56:37

标签: angular typescript angular8

我正在尝试导入位于node_modules内部库子文件夹内的json文件,而打字稿却说找不到子文件夹。

该库是cldr-data,我需要的特定路径是cldr-data / supplemental / likelySubtags.json。

browser location

我尝试了以下导入:

import likelySubtags from 'cldr-data/supplemental/likelySubtags.json';
import likelySubtags from './../../node_modules/cldr-data/supplemental/likelySubtags.json';

但都给出错误:[ts]找不到模块。奇怪的是它可以找到cldr数据,但是找不到辅助文件夹。我不确定如何使它找到补充/。

1 个答案:

答案 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