[英]Reference error for _ (lodash) when declared as peerDependency
我有我的自定義庫,通過npm發布。 它聲明了peerDependency "lodash": "4.15.*"
據我所知,這意味着誰想要使用我的lib應該提供指定版本的lodash
。 所以在我的應用程序的npm依賴項中我有"lodash": "4.15.*"
但是當我使用自定義庫中的組件時,我收到以下ReferenceError: _ is not defined
。 我還添加了require('lodash');
到我的app.js
但它沒有幫助。
為了使這項工作,我還應該做些什么?
庫是用AngularJS 1.5和TypeScript編寫的。 我試圖將它與普通的AngularJS 1.5應用程序一起使用。
編輯。
在我的庫中,我假設,變量_
是全局的,因此它不會導入任何使用它的文件中。
你認為_
是全局的假設是不正確的。 如果您使用的是lodash的npm版本,那么它是一個commonjs模塊,不會全局導出任何內容。
這意味着,除非您在browserify中使用一些特殊插件來全局導出_
,或者您使用腳本標記從cdn中包含lodash,否則將不會定義_
。
假設您正在使用typescript 2.0並安裝了@types/lodash
npm包,那么在每個需要使用它的腳本中導入lodash的正確方法是:
import * as _ from 'lodash';
這將轉化為:
var _ = require('lodash')
這應該是足夠的節點(或browserify
在網絡使用它時)正確包括和設置_
是可用的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.