使用 ejs 重建 webpack-dev-server

2024-04-07

我使用 webpack-dev-server 进行以下配置:

import webpack from 'webpack';
import autoprefixer from 'autoprefixer';
import ExtractTextPlugin from 'extract-text-webpack-plugin';
import CaseSensitivePathsPlugin from 'case-sensitive-paths-webpack-plugin';
import HtmlWebpackPlugin from 'html-webpack-plugin';

const exports = {
    devtool: 'cheap-module-source-map',
    entry: {
        bundle: `${__dirname}/src/main.ejs`,
        commons: [
            'lodash',
            'webpack-dev-server/client?http://localhost:8090',
            'webpack/hot/only-dev-server'
        ]
    },
    module: {
        rules: [
            {
                test: /\.(js)?$/,
                include: `${__dirname}/src`,
                loader: 'babel-loader'
            }, {
                test: /\.(scss|css)$/,
                include: [
                    `${__dirname}/src`
                ],
                use: ExtractTextPlugin.extract({
                    fallback: 'style-loader',
                    use: ['css-loader', 'postcss-loader', 'sass-loader']
                })
            },  {
                test: /\.(ejs)$/,
                include: `${__dirname}/src`,
                use: 'ejs-render-loader'
            }, {
                test: /\.(png|jpg|gif)$/,
                include: [
                    `${__dirname}/src`
                ],
                loader: 'file-loader'
            }, {
                test: /\.svg/,
                include: [
                    `${__dirname}/src`
                ],
                loader: 'file-loader?mimetype=image/svg+xml'
            }, {
                test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
                include: [
                    `${__dirname}/src`
                ],
                loader: 'file-loader?mimetype=application/font-woff'
            }, {
                test: /\.(ttf|eot)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
                include: [
                    `${__dirname}/src`
                ],
                loader: 'file-loader'
            }
        ]
    },
    resolve: {
        extensions: ['.js', '.ejs', '.scss']
    },
    output: {
        path: `${__dirname}/dist`,
        filename: 'bundle.js'
    },
    devServer: {
        contentBase: `${__dirname}/dist`,
        publicPath: 'http://localhost:8090',
        hot: true,
        historyApiFallback: true,
        host: 'localhost',
        port: 8090,
        inline: true
    },
    plugins: [
        new ExtractTextPlugin('styles.css'),
        new webpack.optimize.CommonsChunkPlugin({
            name: 'commons',
            filename: 'commons.js',
            minChunks: Infinity

        }),
        new CaseSensitivePathsPlugin(),
        new webpack.LoaderOptionsPlugin({
            options: {
                postcss: [autoprefixer({
                    browsers: [
                        'last 2 Chrome versions',
                        'last 2 Firefox versions',
                        'last 2 edge versions',
                        'IE >= 9',
                        'Safari >= 7',
                        'iOS >= 7'
                    ]
                })]
            }
        }),
        new HtmlWebpackPlugin({
            filename: 'index.html',
            hash: true,
            template: 'src/main.ejs'
        })
    ]
};

module.exports = exports;

and my main.ejs文件看起来像这样:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="styles.css" />
    <title>Webpack App</title>
</head>
<body>
    <div id="app">
        <% include components/navigation/navigation.ejs %>
    </div>
</body>
</html>

情况是,当我的任何其他 webpack-dev-server 都不会重建.ejs文件被更改(例如components/navigation/navigation.ejs我已经包含在main.ejs),只有当我应用任何更改时它才会重建main.ejs文件。我在网上搜索过该问题的解决方案,但没有成功。


在监视模式下运行:

$ webpack-dev-server --watch

or in webpack.config.js:

devServer: {
    watchContentBase: true,
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ejs 重建 webpack-dev-server 的相关文章

  • 在 PHP 中创建视图 - 最佳实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在与另外 2 名开发人员一起开发一个网站 我只负责创建视图 数据在对象中可用 并且我有 getter 来读取数据然后创建 XHTML 页面
  • 为什么 std::get 不适用于变量?

    我在理解函数 尤其是模板函数和局部变量 在编译期间的行为时遇到了麻烦 所以这段代码可以很好地配合std get enum class UserInfoFields name email address using UserInfo std
  • 配置 Jest 模仿 webpack 解析 root 和解析别名

    我正在努力使用 Webpack 和 Jest 建立一个项目 目前 Webpack 解决了配置导致 Jest 测试复杂化的问题 在我的 webpack 配置中 我设置了以下选项 resolve root dirname src extensi
  • C++11 中的“类模板Example;”语句是什么意思?

    我已被提及 显式模板实例化 http www cplusplus com articles 1C75fSEw at cplusplus com http www cplusplus com 给出了以下示例 template
  • 如何隐藏 webpack-dev-server 日志?

    一旦 webpack dev server 启动 控制台将输出 wds Project is running at https 127 0 0 1 3002 wds webpack output is served from wds Con
  • gcc何时编译未使用的模板代码?

    我有以下 诚然是人为的 代码 可以在 gcc 6 中编译得很好 但不能在 gcc 7 中编译 请注意 在定义中使用了未声明的构造函数bar 如果函数在代码中的其他地方被引用 取消注释 这应该打印一个错误foo bar 导致 gcc 6 打印
  • 编译时检查函数是否使用/未使用 C++

    我想在编译时检查是否有某些函数某堂课使用 未使用 相应地使编译过程失败 通过 例如如果函数F1在代码中的某处调用我希望编译成功 并且 if 函数F2称为我希望它失败 关于如何使用预处理器 模板或任何其他 C 元编程技术来做到这一点 有什么想
  • python string format() 与带有整数键的字典[重复]

    这个问题在这里已经有答案了 我想使用Python字符串format 充当快速而肮脏的模板 但是 那dict我想使用的键是整数 字符串表示形式 一个简化的例子如下 s hello there 5 d 5 you s format d 上面的代
  • webpack-cli 未知参数:--output

    我的 npm node js 版本 当我尝试运行npm dev命令 日志文件 0 info it worked if it ends with ok 1 verbose cli usr local bin node usr local bi
  • 如何配置 Webpack 5 包以使用全局 jQuery?

    我有一个正在加载 jQuery 的网页 其中有一个指向 CDN 的脚本标记 我正在将 jQuery 加载到全局范围内 并且在整个站点中都有少量 JS 使用它 这一切都工作正常 我想继续以这种方式加载 jQuery 除此之外 我使用 Webp
  • 在 Javascript 逻辑中访问 EJS 变量

    我正在开发一个 Node js 应用程序 这是一个游戏 在本例中 我设置了一些代码 以便当一个人访问索引并选择一个房间时 他会被重定向到正确的房间 现在 Express v2 5 8 是这样完成的 server get room name
  • 未处理的拒绝(ChunkLoadError):加载块 1 失败

    我基本上想做一个poc将我的主应用程序的某些部分提取到一个单独的包中 我已在我的 git 存储库中构建了一个示例单独包myapp poc ui https github com prabhatmishra33 myapp poc ui 现在
  • AngularJS 和 Webpack 集成

    我正在寻找一些使用帮助webpack http webpack github io docs 对于大型 AngularJS 应用程序 我们使用基于功能的文件夹结构 每个功能 页面都有一个模块 并且它们有控制器 指令 我已经成功配置了 web
  • post-css 未从 node_modules 找到路径

    我目前有一个 Angular 项目 我希望使用 purgecss 清除 css 我已经一切正常 但是当我导入 node modules 时 它很困难 因为它找不到位于 node modules 文件夹中的路径 我有当前的app scss f
  • 使用 webpack 动态提供图像

    我有一个关于 webpack 和服务图像的问题 我有一个 webpack 配置 它构建了一个 React webapp 并且还提供来自特定文件夹的 jpg 文件 但是 如果我从我的网络应用程序下载新图像并将其添加到此文件夹中 会发生什么情况
  • Webpack 错误:配置具有未知属性“postcss”

    升级到最新版本的 webpack 后 我看到以下错误 WebpackOptionsValidationError Invalid configuration object Webpack has been initialised using
  • 如何从捆绑 .spec.js 文件中排除 webpack

    我的 Package bundle 读取 var reqContext require context true js reqContext keys map reqContext 其中基本上包括所有 js 文件 我希望表达式排除任何 sp
  • 使用 webpacker 部署到 heroku 后,资产不存在于资产管道中

    我正在使用 Rails 5 2 3 我可以在本地下载 pdf 但Heroku它通过错误 500 错误是 ActionView Template Error 资源 pdf css 不存在于资源管道中 这是我的 Heroku 日志 2019 0
  • Webpack 不包括 ProvidePlugins

    我正在开发一个小型试用 Web 应用程序 它使用 vue webpack 模板 https github com vuejs templates webpack https github com vuejs templates webpac
  • 如何预渲染多个Vue应用页面?

    我正在尝试 未成功 在使用 Vue CLI 搭建的同一项目中预渲染多个 Vue 应用程序的 HTML 由于多种原因 我不想使用 Vue Router 或 Nuxt 等 我尝试过使用预渲染 Spa 插件 https github com ch

随机推荐