[英]Import module from npm to javascript file
我正在尝试在我的home.js
文件中导入showdown
模块。
GitHub 安装指南告诉我运行npm install showdown
并提供使用该模块的简单示例,如下所示:
var converter = new showdown.Converter(),
text = '# hello, markdown!',
html = converter.makeHtml(text);
我已经使用该命令安装了该模块,但现在我不确定如何在位于app/static/js
路径下的home.js
中使用该模块。 我尝试使用require
但这不是解决方案,因为
它在浏览器/客户端 JavaScript 中不存在。
项目树
├── app
│ ├── __init__.py
│ ├── routes.py
│ └── static
│ ├── js
│ │ └── home.js
│ └── styles
│ ├── main.css
│ └── normalize.css
├── config.py
├── package-lock.json
├── package.json
├── run.py
└── node_modules
Javascript 文件home.js
const textEditor = document.querySelector('.text-editor')
const preview = document.querySelector('.preview')
var converter = new showdown.Converter() // <- error fires here
console.log('text-editor', textEditor)
console.log('preview', preview)
textEditor.addEventListener('keyup', event=>{
const {value} = event.target;
const html = converter.makeHtml(value)
preview.innerHtml = html
});
问题:如何在我的index.js
中导入这个showdown
,以便能够使用模块的每个 function?
您可以为此使用Browserify
。 它允许您使用require()
来要求 node_modules。
以下是您可以在项目中使用showdown
npm package 的步骤。
使用以下命令全局安装browserify
: npm install -g browserify
使用require()
在项目中包含 npm 模块。
const showdown = require('showdown');
在home.js
usnig browserify 中准备一个用于访问 require() function 的包:
browserify js/home.js > bundle.js
使用script
标签包含在您的代码中创建的bundle.js
文件。
<script src="bundle.js"></script>
这里有一些资源可以更详细地解释如何使用browserify
:
此外,本文还很好地解释了如何根据您的需求选择编译前端应用程序的工具。 它包含有关如何使用browserify
的详细信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.