Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用npm发布客户端脚本?_Javascript_Node.js_Npm - Fatal编程技术网

Javascript 如何使用npm发布客户端脚本?

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

我的nodejs包包含用于在后端执行的代码,以及用于在浏览器上执行的单个.js文件。显然,要使用浏览器脚本,必须将其放入HTML文件中的
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包的一部分。

我不确定是否有标准的方法,但您可以在存储库中提供一些文档来解释如何使用您的包。