В webpack, с HTML-вставкой, как разместить содержимое тегов внешнего скрипта в тегах сценария [duplicate]

Вы можете попробовать этот код. Я нашел его раньше, когда у меня возникла проблема, похожая на вашу.

if (isset($_GET['q1mrks']) && isset($_GET['marks']) && isset($_GET['qt1'])) {
$Q1mrks = $_GET['q1mrks'];
$marks = $_GET['marks'];
$qt1 = $_GET['qt1'];

$qtype_qry = mysql_query("
    SELECT *
    FROM s_questiontypes
    WHERE quetype_id = '$qt1'
");
$row = mysql_fetch_assoc($qtype_qry);
$qcode = $row['quetype_code'];

$sq_qry = "
    SELECT *
    FROM s_question
    WHERE quetype_code = '$qcode'
    ORDER BY RAND() LIMIT $Q1mrks
";
$sq_qry = mysql_query("
    SELECT *
    FROM s_question
    WHERE quetype_code = '$qcode'
    LIMIT $Q1mrks
");
while ($qrow = mysql_fetch_array($sq_qry)) {
    $qm = $qrow['marks'] . "<br />";
    $total += $qm . "<br />";
}
echo $total . "/" . $marks;
}
10
задан Leon 23 January 2016 в 10:14
поделиться

3 ответа

Наконец, мы решаем эту проблему, комбинируя веб-пакет и глоток. [2]

gulpfile:

  gulp.task('replace-and-inline', function () {
      return gulp.src('./dist/index.html')
        .pipe(htmlreplace({
          'js': {
            src: [your libs which you want to be inline],
            tpl: '<script src="%s" inline></script>'
          }
        }))
        .pipe(inlinesource())
        .pipe(gulp.dest('./dist/'));
    });

В package.json, определите задачу, которая скомпилирует проект с помощью webpack, а затем введет файл js как inline.

"build": "rimraf dist && webpack --progress --hide-modules --config build/webpack.prod.conf.js;gulp replace-and-inline"

Когда вы хотите опубликовать свой проект, просто запустите npm run build


update 20 июля 2018 года

мы создали плагин webpack для решения этой проблемы.

https://github.com/QuellingBlade / html-WebPack-рядный плагин

2
ответ дан Leon 26 August 2018 в 23:06
поделиться

Я начал работать над плагином для html webpack , чтобы поддержать это. Вы указываете регулярное выражение для соответствия файлам, которые вы хотите встроить в строку.

plugins: [
  new HtmlWebpackPlugin({
        inlineSource: '.(js|css)$' // embed all javascript and css inline
    }),
  new HtmlWebpackInlineSourcePlugin()
] 
11
ответ дан Dustin Jackson 26 August 2018 в 23:06
поделиться

Я сделал это без gulp, с помощью встроенного источника :

  1. Установите inline-source-cli: npm install inline-source-cli
  2. Добавить атрибут inline в тег скрипта в вашем html-файле: <script inline src="path/to/index.js"></script>
  3. Запустить inline-source --root ./dist dist/path/to/index-pre.html > dist/path/to/index.html
7
ответ дан Itay Radotzki 26 August 2018 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: