npm - 如何在 Sails.js 中使用 import Leaflet?
问题描述
超级基本问题:我想在 Sails.js 项目中安装和使用 Leaflet 模块。首先,我将它安装在 using 中npm i leaflet --save
。这成功地更新了 package.json 文件中的依赖项列表。
为了使用它,我在页面脚本中编写了以下代码:
mounted: async function() {
//…
console.log('hello world!!!!');
var leaflet = require("leaflet");
},
Sails.js 抱怨:未捕获(承诺)ReferenceError:未定义要求。
为什么?如果我需要先创建一个钩子,它需要包含什么?
解决方案
通过包管理器 npm 安装的模块将用于事物的服务器端(控制器、动作等),而不是在浏览器中。
您可以使用 Browserify 或 Webpack 等解决方案,但在这种情况下,最好从网站下载 Leaflet并将文件夹添加到 assets/dependencies 下。
最后,您可以将 JavaScript Leaflet 文件导入 layout.ejs(在 views/layouts 文件夹内):
<% /* Auto-injected «script» tags: */ %>
<!--SCRIPTS-->
// ...
<script src="/dependencies/leaflet/leaflet.css"></script>
对于 CSS:
<% /* Auto-injected «link» tags: */ %>
<!--STYLES-->
// ...
<link rel="stylesheet" href="/dependencies/leaflet/leaflet.css">
我猜这是最好的方法,因为 Sails.js 入门模板以相同的方式导入 Boostrap 4。
推荐阅读
- django - django 中的跨域会话共享
- c# - 在 .NET Standard 中为所有平台获取设备名称
- swift - 如何快速加载 LLVM 函数传递?
- azure-service-fabric - 是否可以在后端之间进行单个前端选择(动态定义)?
- c++ - c++ 二级依赖解析与运行路径
- outlook-redemption - 使用 Redemption 导入附件文件名很长的电子邮件
- ssl - OpenSSL:创建具有许多中间证书级别的自签名 CA
- html - 垂直对齐文本和浮动右元素的文本
- javascript - 如何处理未在 Safari 上安装的自定义协议仍触发 onblur 事件?
- xcode11.2.1 - 在 Xcode 11.2.1 中启动应用程序时应用程序崩溃