开发者社区> 镜像站> NPM> template-file
template-file
🔀 Replace {{ variables }} in all your files
Last updated a year ago by meyer_mcmains .
MIT · Repository · Original npm · Tarball · package.json
$ cnpm install template-file 
SYNC missed versions from official npm registry.

template-file

???? Replace {{ variables }} in all your files

Build status Greenkeeper badge

Use variables to replace template strings in any type of file.

✨ Some helpful features:

  • If you use a JavaScript file as the dataFile argument, whatever object the JS exports is used for replacement.
  • If the value of one of the keys is a function, the result of that function is used for replacement.
  • Deeply-nested keys can be used for replacements.

⚠️ NOTE: Keys with a period in the name will not be resolved. {{ user.name }} will look for { user: { name: '' }} but not { 'user.name': ''}. This would be easy to change, but we're leaving as-is for now for slightly better replacement performance (please open an issue if you would like the other behavior).

Usage

template-file <dataFile> <sourceGlob> <destination>

Arguments

  • data - Data file in JSON; used to replace variables in source files
  • sourceGlob - Files to process; see glob for syntax
  • destination - Destination directory where processed files go

Examples

ℹ️ TIP: Remember to place quotes around your arguments (if they contain asterisks, question marks, etc.) to keep your shell from expanding globs before template-file gets to consume them.

Just handle one file:

template-file data.json template.txt build/

Compile all .abc files in src/ to build/:

template-file stuff.json 'src/**/*.abc' build/

Compile all HTML files in src/ to dist/ using the exported result of a JavaScript module:

template-file retrieveData.js 'src/**/*.html' './dist'

API

const { renderString, renderTemplateFile } = require('template-file')

const data = {
  location: {
    name: 'Nashville'
  },
  adjective: 'cool'
}

// Replace variables in string
renderString('{{ location.name }} is {{ adjective }}.', data) // 'Nashville is cool.'

// Replace variables in a file
renderTemplateFile('/path/to/file', data)
  .then(renderedString => console.log(renderedString)) // same as above, but from file

Install

With either Yarn or npm installed, run one of the following:

# If using Yarn, add to project:
yarn add template-file

# ...or install as development dependency:
# (use this command if you're using `template-file` to build your project)
yarn add --dev template-file

# ...*or* install globally to use anywhere:
yarn global add template-file

# If using npm, add to project:
npm install --save template-file

# ...or install as development dependency:
# (use this command if you're using `template-file` to build your project)
npm install --save-dev template-file

# ...*or* install globally to use anywhere:
npm install --global template-file

License

MIT

Current Tags

  • 3.1.0                                ...           latest (a year ago)

8 Versions

  • 3.1.0                                ...           a year ago
  • 3.0.1                                ...           3 years ago
  • 3.0.0                                ...           3 years ago
  • 2.0.0                                ...           4 years ago
  • 1.0.4                                ...           4 years ago
  • 1.0.3                                ...           4 years ago
  • 1.0.2                                ...           4 years ago
  • 1.0.1                                ...           4 years ago