在预先发布

时间:2018-03-05 11:38:28

标签: node.js npm

我在我的应用程序包中引用了一个本地私有NPM依赖项.json:

"核心模块":" file:/// Users / myuser / Documents / projects / core_module"

当我跑步" npm install"在我的应用程序上,我希望它运行" npm install"在我的本地私有依赖项(核心模块)。

它在安装时运行预发布脚本,但是如果我还没有首先在本地依赖项上单独安装,那么它似乎不会先运行安装会导致问题。

在主应用程序上运行安装时,如何让我的本地私有依赖项运行自己的安装?

2 个答案:

答案 0 :(得分:0)

在主应用程序的package.json的“scripts”部分输入:

def init_request(self):
  ##This function is called before crawling starts
  return Request(url=self.login_page, callback=self.login)

def login(self, response):
  ##Generates a login request
  return FormRequest.from_response(
    response, 
    formdata = {
      'user': 'username', 
      'passwrd': 'password', 
      'cookielength':'9999'
    }, 
    clickdata = {
      'type': 'submit', 
      'class': 'button_submit', 
      'value': 'Login'
    }, 
    callback = self.check_login_response
  )

def check_login_response(self, response):
  ##Check the response returned by a login request to see if we are successfully logged in.
  print(str(response.body))

  if "Hello" in response.body:
    self.log("Successfully logged in. Let's start crawling!")
    ##Now the crawling can begin..
    self.initialized()

在主应用程序上执行“npm install”之前,在./node_modules/core_module上执行“npm install”。更多信息here

答案 1 :(得分:0)

在我的场景中,我想在发布之前安装并检查我的私有依赖项,所以我所做的只是运行npm pack命令来创建我的包的tarball。它将创建一个pkgName-pkgVersion.tgz tarball文件,您可以在发布之前使用npm install <tarball file path>命令在任意位置单独安装。

有关更多说明,您还可以参考以下链接: https://docs.npmjs.com/misc/scripts