Jshint: JSHint Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π΅Π³ΠΎ ΠΊΠ°ΠΊ модуля requirejs

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 21 янв. 2016  Β·  5ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: jshint/jshint

ΠŸΡ€ΠΈΠ²Π΅Ρ‚,

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΉ POC я ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» нСбольшой ΠΎΠ±Ρ€Π°Π·Π΅Ρ†, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΌΠΎΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ angular Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с requirejs. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JsHint. ЕдинствСнноС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ - Π½Π΅ Π±Ρ‹Π»ΠΎ nodejs.

Π― взял Ρ„Π°ΠΉΠ» js ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ dist Ρ€Π΅Π»ΠΈΠ·Π° ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Но ΠΏΡ€ΠΈ этом я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ
jshint_error

Uncaught TypeError: _.each Π½Π΅ являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ

ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» Ρ‡Π΅Ρ€Π΅Π· require, Ρ…ΠΎΡ€ΠΎΡˆΠΈ, ΠΊΠ°ΠΊ bootstrap ΠΈ angular. Π― попытался Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ underscore.js ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄ΠΎ jshint, Π½ΠΎ Π±Π΅Π·Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π½ΠΎ.

Π­Ρ‚ΠΎ ошибка jshint ΠΈΠ»ΠΈ я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ дСлаю Π½Π΅ Ρ‚Π°ΠΊ. Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ для ΠΌΠΎΠ΅ΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ requirejs

require.config ({
baseUrl: 'скрипты',
paths: {
'jshint': 'lib / jshint / jshint',
'ΡƒΠ³Π»ΠΎΠ²ΠΎΠΉ': 'lib / angular / angular.min',
'ΡƒΠ³Π»ΠΎΠ²ΠΎΠΉ-ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚': 'Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° / ΡƒΠ³Π»ΠΎΠ²ΠΎΠΉ / ΡƒΠ³Π»ΠΎΠ²ΠΎΠΉ-ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚.min'

},
shim: {
    'app': {
        deps: ['jshint','angular', 'angular-route']
    },
    'angular-route': {
        deps: ['angular']
    }
}

});

Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ
(
[
'ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅'
],
функция (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)
{
angular.bootstrap (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ['ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅']);
}
);

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Каким-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ присутствиС requirejs (ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, AMD Π² Ρ†Π΅Π»ΠΎΠΌ) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сбою Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ lodash.
Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² v2.6.3, Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ сбой Π² v2.7.0

Π£ мСня Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Π΅Ρ†, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† с v2.9.3 . Ошибка инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°:

VM104 jshint.js:15777 
Uncaught TypeError: _.each is not a function
  require.14.lodash @ VM104 jshint.js:15777
  s @ VM104 jshint.js:6
  (anonymous function) @ VM104 jshint.js:6
  ...

Наоборот,

Π›ΡŽΠ±Π°Ρ идСя?

ВсС 5 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― ΠΎΠΆΠΈΠ΄Π°Π», Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ΠΎ ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ jshint. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, соврСмСнный jshint ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ lodash, поэтому ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ с lodash, хотя я Π² этом сомнСваюсь.

ΠŸΡ€ΠΎΡΡ‚ΠΎ спитбаллин

Π― столкнулся с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ... Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ?

Каким-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ присутствиС requirejs (ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, AMD Π² Ρ†Π΅Π»ΠΎΠΌ) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сбою Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ lodash.
Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² v2.6.3, Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ сбой Π² v2.7.0

Π£ мСня Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Π΅Ρ†, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† с v2.9.3 . Ошибка инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°:

VM104 jshint.js:15777 
Uncaught TypeError: _.each is not a function
  require.14.lodash @ VM104 jshint.js:15777
  s @ VM104 jshint.js:6
  (anonymous function) @ VM104 jshint.js:6
  ...

Наоборот,

Π›ΡŽΠ±Π°Ρ идСя?

Π’ SystemJS Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ°ΠΊ global (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ AMD ΠΈΠ»ΠΈ CommonJS) Π² ΠΌΠ΅Ρ‚Π° согласно https://github.com/systemjs/systemjs/blob/master/docs/module-formats. md # globals

SystemJS.config({
    baseURL: './js',
    defaultJSExtensions: true,
    paths: {
        'jquery': './js/vendor/jquery/jquery-3.2.1.min.js',
        // ...
    },
    meta: {
        './js/vendor/codemirror/addon/lint/jshint.js': { format: 'global' }
    }
});
SystemJS.import('./js/app.js').then(function (app) {
    // ...
})

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Webpack автоматичСски опрСдСляСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

НадСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ с requireJS.

Каким-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ присутствиС requirejs (ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, AMD Π² Ρ†Π΅Π»ΠΎΠΌ) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сбою Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ lodash.
Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² v2.6.3, Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ сбой Π² v2.7.0

Π£ мСня Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Π΅Ρ†, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† с v2.9.3 . Ошибка инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°:

VM104 jshint.js:15777 
Uncaught TypeError: _.each is not a function
  require.14.lodash @ VM104 jshint.js:15777
  s @ VM104 jshint.js:6
  (anonymous function) @ VM104 jshint.js:6
  ...

Наоборот,

Π›ΡŽΠ±Π°Ρ идСя?

ПослС 2.6.3 он измСнился с Underscore на Lodash.
ΠžΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ 'var _ = require ("ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅);' Π² 2.6.3 ΠΈ 'var _ = require ("lodash");' Π² 2.12.10

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ