2017-04-27 14 views
0

このようなlodashから「テンプレート」を輸入差がある:最初の選択肢は正常に動作しますが、私は他のlodash機能を使用するときに、第2の選択肢は例外TypeError違いlodashとlodash/templateからテンプレートをインポートしていますか?

import template from 'lodash/template'; 

import { template } from 'lodash'; 

またはこのようながテンプレート内の_.isStringのようなものです。

Uncaught TypeError: _.isString is not a function at eval (eval at (template.js:225), :10:13)

私はevalの内部でデバッグする場合は、_(アンダースコア)オブジェクトは次のようになりますエスケープ機能を除いて空

Object {escape: function} 
    escape: function escape(string) 
    __proto__: Object 

私はlodash/coreとcherrypick以外の「テンプレート」のような機能を使いたいと思いますが、これは難しいことです。

環境:

  • のWebPACK 1.13.0
  • バベル6.24.1
  • バックボーン1.3.3
  • Lodash 4.17.4

答えて

0

私が使用して回避策を発見しましたtemplateSettings.importsを_templateに入れ、基本的にlodashをテンプレート処理evalにインポートします。ここで

const templateSettings = { imports: { _: _ } }; 
const processedTemplate = template(templateToProcess, templateSettings)(data); 

は、テンプレートとtemplateSettingsためLodashのドキュメントです: https://lodash.com/docs/latest#template

cheerypickedテンプレートのインポートを使用した場合、グローバルアンダースコアがevalの中で空である理由を私はまだ知らない、しかし...

関連する問題