我安装了这个软件包:https://github.com/feathersjs/feathers-authentication-local(问题与此软件包无关)。此软件包的源代码位于./src
,npm run compile
将babel-transiled代码放入./lib
,这是主要入口点。
我的问题是,在我npm install feathers-authentication-local
之后,npm如何知道它需要运行npm run compile
?我想过在postinstall
中放一个package.json
脚本,这个包没有。
答案 0 :(得分:1)
关于发布时上传到npm的内容,package.json,files和目录中有两个字段,用于指定应上传的内容。
看一下“main”属性,它指向在应用程序中导入模块时将使用的文件:
import foo from 'foo'
将查看node_modules / foo / $(main),在这种情况下指向lib /
答案 1 :(得分:0)
在客户端的机器上安装后,软件包实际上没有编译,但它可能在mantainer的机器上编译,然后在NPM上发布。
prepublish
中的package.json
脚本触发了编译过程。