javascript - 移动到其他文件时不是函数
问题描述
我有这个咖啡脚本功能:
_skip_version = (currentVersion, skippedVersions) ->
if (currentVersion.indexOf(skippedVersions) == -1)
return false
return true
它目前在我的archive.spec.coffee
文件中,可以这样调用:
if (_skip_version(config.version, version))
this.skip 'Skipping test - Not supported on this version'
我现在想要使用其他文件,_skip_version
所以archive.spec.coffee
似乎不再是保存它的地方。我想把它移到helpers.coffee
. 我将该函数复制到新文件并添加helpers = require('./helpers')
到archive.spec.coffee
. 现在我试着这样称呼它:
if (helpers._skip_version(s3.config.clevOsVersion, version))
this.skip 'Skipping test - Not supported on this version'
它抛出这个错误:
TypeError: helpers._skip_version is not a function
我做错了什么?
这是我的hooks.coffee
文件:
AWS = null
global = null
if typeof window == 'undefined'
AWS = require 'aws-sdk'
global = GLOBAL
else
AWS = window.AWS
global = window
if global.jasmine
global.jasmine.DEFAULT_TIMEOUT_INTERVAL = 30000
require('util').print = (data) ->
process.stdout.write(data)
global.expect = require('chai').expect
matchXML = (xml1, xml2) ->
results = []
parser = new (require('xml2js').Parser)()
[xml1, xml2].forEach (xml) ->
parser.parseString xml, (e, r) ->
if e then throw e
results.push(r)
expect(results[0]).to.eql(results[1])
getUniqueName = ->
'aws-' + Date.now()
_skip_version = (currentVersion, skippedVersions) ->
if (currentVersion.indexOf(skippedVersions) == -1)
return false
return true
module.exports =
AWS: AWS
util: AWS.util
getUniqueName: getUniqueName
matchXML: matchXML
解决方案
你没有出口
改变
module.exports =
AWS: AWS
util: AWS.util
getUniqueName: getUniqueName
matchXML: matchXML
至
module.exports =
AWS: AWS
util: AWS.util
getUniqueName: getUniqueName
matchXML: matchXML
_skip_version: _skip_version
推荐阅读
- lua - Lua:为什么这个协程循环没有完成?
- jquery - 我想用 Tab 键导航子菜单
- azure - 天蓝色 Web 应用配置设置中的“密钥保管库引用错误”
- functional-programming - 需要编写一个“blendList”函数,除了“length”之外不使用任何内置函数
- python - Plotly:排序多类别条形图
- reactjs - TypeError:无法读取未定义的 ReactJS APP 的属性“地图”
- python - 将一维整数数组与二维数组中的行进行比较
- python - 如何在 Python 中获取目录的 win32 句柄?
- r - 具有多个观测值、变量和组的马氏距离
- python - 除2概率极弱