如何将函数从一个 CoffeeScript 文件导入到另一个文件?
How do I import functions from one CoffeeScript file to another?
我在 CoffeeScript 中有两个不同的文件,我想从一个文件访问另一个文件中的函数。我可以将函数从一个文件导入到另一个文件吗?
是的,与Javascript中的相同。您可以使用 commonjs require
语法,或者如果您使用像 babel 这样的预处理器,您可以通过 import
/ export
语法
使用模块
需要
您可以导出包含您喜欢的任何内容的对象,并在另一个文件中使用它。用一个例子最简单的解释:
first.coffee
a = (x) ->
console.log "file first, function a, argument #{x}"
b = 3.1415
module.exports =
a: a
b: b
second.coffee:
first = require './first'
first.a 'test'
console.log "b: #{first.b}"
模块
ES2015 modules are supported in CoffeeScript, with very similar import and export syntax:
import './local-file.coffee'
import 'coffeescript'
import _ from 'underscore'
import * as underscore from 'underscore'
import { now } from 'underscore'
import { now as currentTimestamp } from 'underscore'
您将需要使用 babel 进行转译,因为 import/export 在 Node / 浏览器中默认不支持。一个流行的例子是 webpack。这是一个 official example
You'll need to install @babel/core and @babel/preset-env and then create a configuration file:
npm install --save-dev @babel/core @babel/preset-env
echo '{ "presets": ["@babel/env"] }' > .babelrc
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.coffee$/,
loader: 'coffee-loader',
options: {
transpile: {
presets: ['@babel/env'],
},
},
},
],
},
};
我在 CoffeeScript 中有两个不同的文件,我想从一个文件访问另一个文件中的函数。我可以将函数从一个文件导入到另一个文件吗?
是的,与Javascript中的相同。您可以使用 commonjs require
语法,或者如果您使用像 babel 这样的预处理器,您可以通过 import
/ export
语法
需要
您可以导出包含您喜欢的任何内容的对象,并在另一个文件中使用它。用一个例子最简单的解释:
first.coffee
a = (x) ->
console.log "file first, function a, argument #{x}"
b = 3.1415
module.exports =
a: a
b: b
second.coffee:
first = require './first'
first.a 'test'
console.log "b: #{first.b}"
模块
ES2015 modules are supported in CoffeeScript, with very similar import and export syntax:
import './local-file.coffee' import 'coffeescript' import _ from 'underscore' import * as underscore from 'underscore' import { now } from 'underscore' import { now as currentTimestamp } from 'underscore'
您将需要使用 babel 进行转译,因为 import/export 在 Node / 浏览器中默认不支持。一个流行的例子是 webpack。这是一个 official example
You'll need to install @babel/core and @babel/preset-env and then create a configuration file:
npm install --save-dev @babel/core @babel/preset-env echo '{ "presets": ["@babel/env"] }' > .babelrc
webpack.config.js
module.exports = { module: { rules: [ { test: /\.coffee$/, loader: 'coffee-loader', options: { transpile: { presets: ['@babel/env'], }, }, }, ], }, };