Nodejs / Handlebars / Webpack: ReferenceError: Handlebars не определен - PullRequest
0 голосов
/ 20 марта 2020

Handlebars отлично работает на стороне сервера, но когда я звоню Handelbars.compile(xxx), на мой взгляд, у меня появляется ошибка ReferenceError: Handlebars is not defined

Я добавил import Handlebars from 'handlebars'; в мой js файл ввода. Теперь я могу видеть ссылки на руль, когда я смотрю на источник моего комплекта, а у меня не было раньше. Я думаю, что я иду хорошим путем, но у меня все еще есть ошибка ReferenceError: Handlebars is not defined.

Мой файл конфигурации веб-пакета:

const path = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
// https://github.com/webpack-contrib/mini-css-extract-plugin

module.exports = {
    mode: 'production',
    entry: {
       app: './assets/js/app.js',
       guests: './assets/js/guests.js'
    },
    output: {
       path: path.resolve(__dirname, 'public/dist'),
       filename: 'js/[name].js' // template based on keys in entry above (index.js & admin.js)
    },
    module: {
        rules: [
            {
                test: /\.css$/,
                use: [
                    {
                        loader: MiniCssExtractPlugin.loader,
                        options: {
                            publicPath: '../',
                            hmr: process.env.NODE_ENV === 'development',
                        },
                    },
                    'css-loader',

                ],
            },
            {
                // include images in compilation, needed for jQuery UI
                test: /\.(png|jpg|gif)$/i,
                use: [
                    {
                        loader: 'url-loader',
                        options: {
                            limit: 100000,
                        },
                    },
                    {
                        loader:'file-loader',
                        options:{
                            name:'[name].[ext]',
                            outputPath:'images/' 
                        }
                    }
                ],
            },
            {
                // include fonts in compilation, needed for jQuery UI
                test: /\.(ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/,
                use: [
                    {
                        loader:"file-loader",
                        options:{
                            name:'[name].[ext]',
                            outputPath:'fonts/' 
                        }
                    }
                ],
            }
        ]
    },
    plugins: [
        new MiniCssExtractPlugin({
            filename: 'css/[name].css',
            chunkFilename: '[name]-[id].css',
            ignoreOrder: false,
        })
    ],
    resolve: {
        alias: {
            'jquery': "jquery/src/jquery",
            //'handlebars/runtime': 'handlebars/dist/cjs/handlebars.runtime.js',
            //'handlebars': 'handlebars/dist/cjs/handlebars.js',
            //'handlebars' : 'handlebars/dist/handlebars.js'
        }
    }
};

Мое приложение. js (входной файл) :

// Import CSS
import 'bootstrap/dist/css/bootstrap.css';
import '../css/bootstrap-glyphicons.css';
import '../css/style.css';

// Import JS
import 'bootstrap/dist/js/bootstrap.js';
import Handlebars from 'handlebars';

Я новичок в вебпаке, мне явно что-то не хватает, но мне нужна помощь, чтобы узнать что. Спасибо

...