трейлер фильма; не определен `movieTrailer`

#reactjs #video #referenceerror

#reactjs #Видео #ошибка ссылки

Вопрос:

Я использую приложение react и пытаюсь использовать movieTrailer(..) from movie-trailer . Дело в том, что ошибка заключается в том, что вы продолжаете говорить movieTrailer(movie.name || "") , что никогда не определено. Я сделал импорт import movieTrailer from 'movie-trailer'; и в ‘/Users/kevinsong/Desktop/netflix-clone/node_modules/movie-trailer/index.js » есть функция, которая называется movieTrailer

 async function movieTrailer( movie, options, cb, legacy ) {

        /* Fetch movie trailers */

        // Massage inputs
        let config = {
            multi: false,
            id: false,
            year: null,
            language: null,

            // Public Key on purpose
            apiKey: '9d2bff12ed955c7f1f74b83187f188ae'
        }

        if ( !options ) {

            options = {}

        }

        if ( typeof movie !== 'string' amp;amp; !options.tmdbId ) {

            throw Error( 'Expected first parameter to be a movie or TMDB ID (string)' )

        } else if ( typeof options === 'function' ) {

            // Second parameter is the callback
            cb = options
            options = null

        } else if ( typeof options === 'boolean' || options === 'true' ) {

            // Second parameter is multi
            config.multi = options

        } else if ( typeof options === 'string' || typeof options === 'number' ) {

            // Second parameter is year
            config.year = options

            /* BACKWARDS-COMPATABILITY FOR v1 */
            if ( typeof legacy === 'function' amp;amp; ( typeof cb === 'boolean' || ( typeof cb === 'string' amp;amp; cb === 'true' ) ) ) {

                // Third parameter is multi
                config.multi = cb
                cb = legacy

            }
            /* END BACKWARDS-COMPATABILITY */

        } else if ( typeof options === 'object' ) {

            // Set options
            config = Object.assign( config, options )

        }

        // Remove invalid callback
        if ( typeof cb !== 'function' ) {

            cb = null

        }

        const movieId = config.tmdbId ? config.tmdbId : ( await getMovieId( movie, config )
            .catch( error => {

                handleErrors(error)
                return null

            } ) )

        // Get the TMDB content ID
        if ( !movieId ) {

            // Failed
            return null

        }

        // Get the trailers themselves
        const result = getTrailer( movieId, config )

        if ( !result ) {

            // Failed
            return null

        }

        // Call callback if supplied
        if ( cb ) {

            return result
                .then( response => cb( null, response ) )
                .catch( error => cb( error, null ) )

        }

        // return promise
        return result

    }

    // Exposed public method
    return movieTrailer

} 
 

Пожалуйста, помогите, почему я получаю неопределенную movieTrailer ошибку ссылки.

Комментарии:

1. Экспортируется ли функция?

2. все, что я сделал, это npm i -g movie-trailer . Нужно ли мне изменять "/Users/kevinsong/Desktop/netflix-clone/node_modules/movie-trailer/index" ?

3. Я бы вообще не рекомендовал изменять файлы, node_modules поскольку вы потеряете свои изменения при обновлении.

4. Я не смог заставить версию 2.0.7 работать, но 2.0.6 действительно работает для меня: codesandbox.io/s/confident-feather-uny2l?file=/src/App.js .

5. о какой версии вы здесь говорите? Я имею в виду версию того, что