javascript - 如何用 NPM 包中的 ES6 导入替换 CDN 导入?
问题描述
我正在尝试替换它:
<!-- Openlayers -->
<link rel="stylesheet" href="https://openlayers.org/en/latest/css/ol.css" />
<script type="text/javascript" src="https://openlayers.org/en/latest/build/ol.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.5.0/proj4.js" integrity="sha256-KJI74PS1qv3+hue+yyIWK/l8TxvS9u4WX7QDrtHkHOo=" crossorigin="anonymous"></script>
<!-- ol-ext -->
<link rel="stylesheet" href="https://cdn.rawgit.com/Viglino/ol-ext/master/dist/ol-ext.min.css" />
<script type="text/javascript" src="https://cdn.rawgit.com/Viglino/ol-ext/master/dist/ol-ext.min.js"></script>
使用import
指令:
import * as proj from 'ol/proj'
import * as projProj4 from 'ol/proj/proj4'
import * as geom from 'ol/geom'
import * as layer from 'ol/layer'
import * as format from 'ol/format'
import * as source from 'ol/source'
import * as style from 'ol/style'
import proj4 from 'proj4'
import Placemark from 'ol-ext/overlay/Placemark'
// import 'ol-ext/dist/ol-ext.css'
window.ol = {
proj: proj,
geom: geom,
layer: layer,
format: format,
source: source,
style: style,
Overlay: {}
}
window.ol.Overlay.Placemark = Placemark
window.ol.proj.proj4 = projProj4
window.proj4 = proj4
不幸的是,它不起作用,而且非常麻烦。我不能使用做:
import 'ol'
import 'ol-ext'
import 'proj4'
有没有一种简单的方法可以做到这一点?
解决方案
进入node_modules
并找到pro4j
打开代码并检查导出的内容。如果有一个类比你能做的导出import ThatClass from [nodeModuleFolderName]
。如果只导出了很多函数,例如,您可以import
使用import * as Whatever from [nodeModuleFolderName]
.
推荐阅读
- rust - 避免在 Rust 中未定义变量时无法访问的“匹配”结构中的“使用可能未初始化的变量”
- reactjs - Reactjs 多选列表框
- git - Create a new branch and move commits after head to new branch and sync with GitHub
- python - 返回过去 24 小时内修改过的 Amazon S3 存储桶中的所有密钥
- python - pyinstaller 制作巨大的文件
- python - Python,在输入中运行时出现 elif 错误
- ruby-on-rails - 服务中的命名约定问题
- php - 一次查询支付多张发票
- swift - 在“super.init”调用之前在方法调用“foo”中使用“self”
- javascript - Javascript迭代字符串数组并为每个字符串添加输入/删除效果,一个接一个地完成