在视图中获取节点模块的路径

时间:2018-12-05 03:37:24

标签: node.js npm video.js

我是使用NodeJS的初学者。我正在为video-js使用名为videojs-playlist的插件。文档说要包括这样:

<script src="path/to/video.js/dist/video.js"></script>
<script src="path/to/videojs-playlist/dist/videojs-playlist.js"></script>

如果path/to不是root/node_modules或类似的东西,究竟应该是什么?我应该如何从ejs视图访问这些文件?我已经使用npm安装了video-jsvideojs-playlist

现在我在页面上收到重定向错误,因为它没有从我尝试过的路径中找到文件。

1 个答案:

答案 0 :(得分:1)

如果路径开头没有/,则该路径是相对于<script>标签所在的文件的;否则,它是相对于网站根目录的,这可能意味着不同的情况,具体取决于您是否/如何捆绑/部署JavaScript。

在一个简单的情况下,如果您在index.html中有脚本标签,并且将video.js复制到与index.html相同的目录中,则可以通过以下方式引用:

<script src="video.js">

如果您正在使用Node在个人计算机上进行测试,则可以引用相对于HTML文件和node_modules目录的文件;但是,在部署和管理实际应用程序的情况下,这并不是最好的方法。

Node使您require()从已安装的依赖项中导入模块,而无需指定它们的确切位置和目录结构,但是看起来这个特定的插件在这里可能没有给您带来方便。

您似乎需要捆扎机。 webpack是一种使用广泛且有据可查的捆绑软件,但还有parcelFuseBox之类的捆绑软件。这些都可以满足您的需求。

这些工具很可能是videojs-playlist README on GitHub所指的,当他们说:

  

使用您选择的工具在您的网站上添加videojs播放列表。

在其他功能中,这些工具可以从您的node_modules依赖项中提取一个文件,并“捆绑”相对于您的javascript应用程序(无论您希望如何),这样您就不必携带一些安装的巨型node_modules目录随处可见-您只需随身携带所需内容,并按自己的方式进行构建即可。