рдореИрдВрдиреЗ рдЖрдЬ 1.9.2 рд╕реЗ 1.10.2 рддрдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП require('underscore');
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдорд┐рд╢реНрд░рдг рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ TypeError: _.camelcase is not a function
:
const _ = require('underscore');
const underscoreString = require('underscore.string');
_.mixin(underscoreString.exports());
console.log(_.camelcase('foo-bar'));
рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
import _ from 'underscore';
const underscoreString = require('underscore.string');
_.mixin(underscoreString.exports());
console.log(_.camelcase('foo-bar'));
рдпрд╣ рд╕реБрдирдХрд░ рдЦреЗрдж рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдХрд╛рдЯ рд░рд╣рд╛ рд╣реИ, @dmaicherред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ 1.10.2 рдФрд░ рдЕрдВрдбрд░рд╕реНрдХреЛрд░.рд╕реНрдЯреНрд░рд┐рдВрдЧ 3.3.5 рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЦрд╛рд╕ рд╣реИ?
рдЖрдкрдХреЗ рддреЗрдЬрд╝ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж: рдмреНрд▓рд╢:
рдореИрдВ [email protected]
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрдВрдбрд▓ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИред рдЬрдм рдореИрдВ рд╕реАрдПрд▓рдЖрдИ рдкрд░ рдиреЛрдб рдХреЗ рд╕рд╛рде рдХреЛрдб рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдареАрдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ: рднреНрд░рдорд┐рдд:
рдпрд╣рд╛рдБ рдПрдХ рдиреНрдпреВрдирддрдо рдкреБрдирд░реБрддреНрдкрд╛рджрдХ рд╣реИ: https://github.com/dmaicher/underscore_issue_2852
рдпрд╣рд╛рдБ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ:
рд╡рд╣ рдЖрдпрд╛рдд рдкрде, underscore/modules/index-all.js
, рд╡реЗрдмрдкреИрдХ рдХреЛ рд╣рдорд╛рд░реЗ package.json
рдореЗрдВ module
рдлрд╝реАрд▓реНрдб рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдЬрдмрдХрд┐ main
рдлрд╝реАрд▓реНрдб рд╡рд╣ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЖрдк CommonJS рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред module
рдЙрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ ES рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, main
рдмрд╛рдХреА рд╕рднреА рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб import
рд╕рд╛рде рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди require()
ред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╡реЗрдмрдкреИрдХ рдЖрдЬрдХрд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдИрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдорд╛рдирддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреЙрдордирдЬреЗрдПрд╕ рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдлреЙрд▓рдмреИрдХ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ ES рдореЙрдбреНрдпреВрд▓ рди рдорд╛рдиреЗрдВ рдпрд╛ module
рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдирджреЗрдЦрд╛ рди рдХрд░реЗрдВред рдпрд╛ рд╢рд╛рдпрдж рдЖрдк ES рдореЙрдбреНрдпреВрд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдореИрдВ рдЗрд╕реЗ рдЕрднреА рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдореБрджреНрджреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╡реЗрдмрдкреИрдХ рдореБрджреНрджрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЯрд┐рдкреНрдкрдгреА рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред
@jgonggrijp рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж: +1:
рдореИрдВ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:
'underscore': 'underscore/underscore.js',
рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдЕрдиреНрдп рдкреИрдХреЗрдЬ "main"
рдФрд░ "module"
рдХреЛ рдЙрдирдХреЗ package.json
рдЕрдВрджрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡реЗрдмрдкреИрдХ ['browser', 'module', 'main']
. рдХреНрд░рдо рдореЗрдВ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдлрд╝реАрд▓реНрдб рд▓реЗрддрд╛ рд╣реИ
рджреЗрдЦреЗрдВ https://webpack.js.org/configuration/resolve/#resolvemainfields
рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ: рдмреНрд▓рд╢:
рдпрджрд┐ рдЖрдк рдЙрди рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдирд╛рдо рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред рд╡реИрд╕реЗ рднреА, module
рдФрд░ main
рд╡рд┐рдирд┐рдореЗрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдирдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЕрдиреБрдЪрд┐рдд рд╣реИ:
https://github.com/rollup/rollup/wiki/pkg.module
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╢рд╛рдпрдж рдереЛрдбрд╝рд╛ рдХрдо рдмрджрд╕реВрд░рдд рд╕рдорд╛рдзрд╛рди рдкрд░ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ resolve.mainFields
рд╕реЗ ['main']
ред рдлрд┐рд░ рд╕реЗ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдХреЛ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ module
рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк CommonJS рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдмрд╕ рдЕрдЧрд░ рдпрд╣рд╛рдБ рдХреБрдЫ рдкреИрдХреЗрдЬ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдБ рдЬрд┐рдирдореЗрдВ module
рдФрд░ main
:
https://www.npmjs.com/package/vuejs-datepicker
https://www.npmjs.com/package/bootstrap-vue
https://www.npmjs.com/package/acorn
https://www.npmjs.com/package/perfect-scrollbar
рд╕рдВрдмрдВрдзрд┐рдд рд╡реЗрдмрдкреИрдХ рд╕рдорд╕реНрдпрд╛: https://github.com/webpack/webpack/issues/5756
рд╣рд╛рдБ, рд╡рд╣ рддреБрдореНрд╣рд╛рд░рд╛ рдореБрджреНрджрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ module
рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╕рдордп рд╡реЗрдмрдкреИрдХ рдХреЙрдордирдЬреЗрдПрд╕ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдХрд░ рд░рд╣рд╛ рд╣реИ:
// converting modules/index-all.js to ES3
var underscoreESModule = {
'default': _,
map: _.map,
filter: _.filter,
// ...
};
// in your code that imports underscore
var _ = underscoreESModule;
рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рдереЗ рддреЛ рдмрд╛рдж рдХреА рдкрдВрдХреНрддрд┐ рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧреА:
import * as _ from 'underscore';
рд▓реЗрдХрд┐рди рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреЛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ:
import _ from 'underscore';
рдФрд░ рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдЗрд╕реЗ ES3 рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
var _ = underscoreESModule['default'];
рдпрд╣ рднреА рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рд▓реЛрдЧ рд╡реЗрдмрдкреИрдХ/рд╡реЗрдмрдкреИрдХ#5756 рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред
рдЕрдиреНрдп рдмрд┐рд▓реНрдб рдЯреВрд▓ рдЬреИрд╕реЗ Browserify рдФрд░ Rollup рдЗрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░реА рд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред рд╕рд┐рд░реНрдл рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП...