npm 安装是否也会构建库
Does npm install also builds the library?
我有一个问题,关于npm。 也在Reddit上尝试过。
让我们以 jQuery npm 为例。
当我npm install jquery
时,我在node_modules
文件夹中找到一个jquery
文件夹,
在其中,即使它被忽略了.gitignore
,我也在其中找到了dist
.
以下是包的脚本:
"scripts": {
"build": "npm install && grunt",
"start": "grunt watch",
"test": "grunt && grunt test"
},
Grunt 尚未用于构建 - 在我的node_modules
中找不到(使用 npm5)。
鸭子dist
文件夹从哪里来??
以jQuery为例,尽管我见过很多这样的包。
提前致谢
npm 安装是否也会构建库?
一般来说:这取决于。您可以在package.json
文件的scripts
部分中指定install
脚本,该脚本在有人运行npm install <package>
时执行,但建议不要这样做:
不要使用
install
.使用.gyp
文件进行编译,prepublish
用于其他任何内容。您几乎永远不必显式设置preinstall
或install
脚本。如果您正在这样做,请考虑是否有其他选择。install
或preinstall
脚本的唯一有效用途是用于编译,必须在目标体系结构上完成。
特别是对于jQuery,它似乎是在发布到npm之前(手动)构建的。 jQuery使用grunt来构建库。这将生成dist
文件夹:
build: {
all: {
dest: "dist/jquery.js",
minimum: [
"core",
"selector"
],
更重要的是,jQuery 有一个.npmignore
文件,这意味着在 npm 上发布包时,该文件的使用时间.gitignore
。如您所见,它不排除dist/
文件夹,因此在发布到 npm 时会包含该文件夹。
因此,似乎有人运行以下步骤来发布新版本的jQuery:
npm run build
npm publish
相关文章:
- 可以前端maven插件使用节点,npm已经安装
- 我应该如何从xml文件构建一个javascript页面
- 如何在DOM元素上按类型构建此函数
- Sencha Touch构建-排除文件
- RubyonRails——构建交互式接口应该朝哪个方向发展
- 在Meteor项目中安装并包含npm模块后出错
- 无法安装节点sass相关性
- 如何在构建node-webkit应用程序后获取外部资源
- Ext.js从json构建模型关系的问题
- 键入环境安装不起作用
- 全局安装gull后出错
- 如何为生产构建angular2应用程序
- Grunt构建导致Angular应用程序在dist上崩溃
- 理论上是否有可能使用 chromium 的可安装网络应用程序 API 构建纯 JS bittorrent
- 如何构建无需安装、仅限客户端的数据库 Web 应用
- npm 安装是否也会构建库
- 安装 socket.io 返回(node-gyp 重建 2> 构建错误.log) ||(0 号出口)
- 我应该从源代码构建Node.js还是下载OSX安装程序
- PhoneGap云构建:正确安装facebookConnectPlugin
- 当尝试为我的电子应用程序创建安装程序时,构建未发现错误