Почему скрипт не запускается в проекте jhipster? - PullRequest
0 голосов
/ 09 июля 2020

Я не могу вызвать скрипт в файле app.component.ts Выдает следующую ошибку: ресурс из «http://localhost: 9000 / assets / loader.js» был заблокирован из-за типа MIME («text / html ”) Несоответствие (X-Content-Type-Options: nosniff). Ошибка загрузки с исходным кодом «http://localhost: 9000 / assets / loader.js».

Он работает в обычном проекте, но не запускает jhipster

// app.component.ts

        testscript() {
           console.log('test scriptttt');
           const scriptnode = document.createElement('script');
           scriptnode.setAttribute('type', 'text/javascript');
           scriptnode.setAttribute('src', 'assets/loader.js');
           document.head.appendChild(scriptnode);
         }

<!-- app.component.html -->

    <button  (click)="testscript()">run script</button>

1 Ответ

0 голосов
/ 10 июля 2020

Вы получаете ошибку 404 для папки assets, потому что она не копируется во время сборки Webpack. Вы можете увидеть папку, обслуживаемую Webpack, через конфигурацию devServer.contentBase в webpack.dev. js и проверить эту папку, чтобы убедиться, что папка assets отсутствует.

Чтобы fix, добавьте следующую строку в конфигурацию CopyWebpackPlugin в webpack.common.js:

{ from: './src/main/webapp/assets/', to: 'assets' },

Это скопирует папку assets в ожидаемое место при запуске webpack (npm start). Вы можете проверить, что он скопирован правильно с помощью ls target/classes/static, при условии, что вы используете maven.

Это не означает, что сценарий будет упакован в приложение Angular или запускаться на каждой странице, у вас все равно будет чтобы включить его в свое приложение. Это означает, что либо загрузите его так, как вы это делаете, либо импортируйте куда-нибудь в свое приложение Angular.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...