Javascript 如何使用npm发布客户端脚本?
我的nodejs包包含用于在后端执行的代码,以及用于在浏览器上执行的单个.js文件。显然,要使用浏览器脚本,必须将其放入HTML文件中的Javascript 如何使用npm发布客户端脚本?,javascript,node.js,npm,Javascript,Node.js,Npm,我的nodejs包包含用于在后端执行的代码,以及用于在浏览器上执行的单个.js文件。显然,要使用浏览器脚本,必须将其放入HTML文件中的script元素中。我的问题是,对于如何将browser.js文件以独立于webpack、gulp、grunt或其他打包工具的方式暴露给npm(或webpack或其他任何东西),是否有标准的实践/约定。例如,将其放置在某个地方的scripts/dir中,或者包含一个简单的nodejs/expressjs三行中间件,当通过http://example.com/sc
script
元素中。我的问题是,对于如何将browser.js文件以独立于webpack、gulp、grunt或其他打包工具的方式暴露给npm(或webpack或其他任何东西),是否有标准的实践/约定。例如,将其放置在某个地方的scripts/
dir中,或者包含一个简单的nodejs/expressjs三行中间件,当通过http://example.com/scripts/myscript.js
,将我的脚本内容发送到浏览器
我发现了,但这仅仅解释了如何在HTML页面中使用
脚本元素的琐碎细节,而不是如何让npm在标准化的资产文件夹中安装脚本,以便通过静态服务路由、资产管理工具或类似工具进行拾取。如果您在npm上发布软件包,在您的情况下,另一种可行的方法是使用CDN。在NPM上发布的所有软件包都可以通过此CDN获得
然后在前端代码中,您可以简单地引用所需的单个js文件
<script src="https://unpkg.com/yourpackage/path/to/your/file.js"></script>
如果您没有将web内容打包在同一个包中,CDN是您的最佳选择。如果您的web内容在同一个包中,您可以使用
"scripts": {
"prepublish": "cp <source_path_of_file.js> <destination_dir>"
}
“脚本”:{
“预发布”:“cp”
}
在package.json中,您可以将其打包为npm包的一部分。我不确定是否有标准的方法,但您可以在存储库中提供一些文档来解释如何使用您的包。