2017-01-20 8 views
0

私のノードjsプロジェクトでは、通常、コード内に静的テキストを入れる代わりに、text.jsonファイルが必要です。何か ノードjsテンプレートリテラルのテキストjsonをインポート

{ 
    "greet":"Hello world" 
} 


var text = require('./text.json'); 
var greet = text.greet 

JSONファイル

以下のように私は、これはテンプレートリテラルでどのように動作するかを考え出すに少し問題が発生したのですか?

+0

テンプレートライブラリを使用していますか?すなわち、 pug、ejs、mustache – haxxxton

+0

テンプレートリテラルと関係があるのか​​どうか不明です。テンプレートリテラルはJSONとは関係ありません。あなたは何とかJSONでテンプレートリテラルのコンテンツを保存しますか? –

+1

それについて何が分かりにくいですか? - '\'これは私の挨拶です:$ {text.greet} \ ''テンプレートリテラル:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals – Adam

答えて

1

私は、多くの場合、非常に小さなテンプレートヘルパーライブラリ(ティム - https://github.com/premasagar/tim)を使用して、この達成するために使用することができます。また

https://jsfiddle.net/rtresjqv/

、あなたは可能性:

//in my json file 
var strings = { 
    'Hello': 'Hello {{name}}!', 
    'Goodbye': 'Goodbye {{name}}!' 
}; 

//in my app 
var tim = require('tim'); //templating library 
var strings = require('./strings.json'); 

//replace 
console.log(tim(strings.Hello,{name:'Fred'})); 

関連JSFiddleを文字列を関数に変換し、引数を渡します。

//in my json file 
var strings = { 
    'Hello': function() { return `Hello ${arguments[0]}!`; }, 
    'Goodbye': function() { return `Goodbye {$arguments[0]}!`; } 
}; 

//in my app 
var strings = require('./strings.json'); 

//replace 
console.log(strings.Hello('Fred')); 

Fiddle: https://jsfiddle.net/t6ta0576/

+0

ありがとう、両方の方法が良いです。 JSONでテンプレートのリテラルを使用する別の方法/別の構文があるのか​​どうか疑問に思っていました。そこにあるようには見えません。 – K3rn3l5

+0

他の回答や回避策が見つかりませんでした。あなたの答えを受け入れました。再度、感謝します。 – K3rn3l5

関連する問題