【无标题】

Bundler 构建功能标志

有关 vuejs.org 的详细参考

esm-bundlerVue 的构建公开了可以在编译时覆盖的全局特性标志:

  • __VUE_OPTIONS_API__

    • 违约:true
    • 启用/禁用选项 API 支持
  • __VUE_PROD_DEVTOOLS__

    • 违约:false
    • 在生产环境中启用/禁用 devtools 支持
  • __VUE_PROD_HYDRATION_MISMATCH_DETAILS__

    • 违约:false
    • 启用/禁用生产中水合作用不匹配的详细警告

该版本无需配置这些标志即可工作,但强烈建议正确配置它们,以便在最终捆绑包中获得适当的树摇动。

core/packages/vue 在 main ·vuejs/核心 (github.com)

可以通过webpack配置,去掉警告

DefinePlugin是Webpack的一个插件,它允许创建一个在编译时可以配置的全局常量。这对于开发模式和生产模式的构建非常有用,因为它们可能允许不同的行为。例如,如果在开发构建中需要执行日志记录,而在发布构建中不需要,则可以使用DefinePlugin中的全局常量来决定是否记录日志。

DefinePlugin中的每个键值都可以是一个标识符,或者通过.作为多个标识符。如果值是一个字符串,它会被当作一个代码片段来使用;如果值不是字符串,它会被转化为字符串(包括函数)。如果值是一个对象,则对象的所有key都会以同样的方式定义。此外,如果在一个key前面加了typeof,它会被定义为typeof调用。这些值会被内联进那些允许传一个代码压缩参数的代码中,从而减少冗余的条件判断。

通常,在定义环境变量时,有两种常见的用法:使用'production'或者JSON.stringify('production')。这样,DefinePlugin就能在编译阶段根据NODE_ENV自动配置环境变量,提升前端开发效率。


const { resolve } = require('path')
//针对node环境排除包,web环境不需要
const webpackNodeExternals = require('webpack-node-externals')
const { VueLoaderPlugin } = require('vue-loader/dist/index')
//解决浏览器警告
const { DefinePlugin } = require('webpack')
module.exports = {
    target: 'node',  //打包对象,打包时就不会打包fs path...
    mode: "development",
    entry: './src/server/index.js',
    output: {
        path: resolve(__dirname, '../build/server'),
        filename: 'server_bundle.js'
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                options: {
                    presets: ["@babel/preset-env"]
                }
            },
            {
                test: /\.vue$/,
                loader: 'vue-loader',

            }
        ]
    },
    externals: [
        webpackNodeExternals() //排除node_modules
    ],
    resolve: {
        extensions: ['.js', '.json', '.was,', '.vue', '.jsx']
    },
    plugins: [
        new VueLoaderPlugin(),
        new DefinePlugin({
            __VUE_OPTIONS_API__: false,
            __VUE_PROD_DEVTOOLS__: false,
            __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
        })
    ]
}

相关推荐

  1. 标题

    2024-03-22 16:12:02       72 阅读
  2. 标题

    2024-03-22 16:12:02       69 阅读
  3. 标题

    2024-03-22 16:12:02       67 阅读
  4. 标题

    2024-03-22 16:12:02       77 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 16:12:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 16:12:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 16:12:02       87 阅读
  4. Python语言-面向对象

    2024-03-22 16:12:02       96 阅读

热门阅读

  1. 【LeetCode-22.括号生成】

    2024-03-22 16:12:02       44 阅读
  2. L1-5 不变初心数分数 15

    2024-03-22 16:12:02       44 阅读
  3. 从政府工作报告探计算机行业发展

    2024-03-22 16:12:02       47 阅读
  4. 【leetcode热题】颠倒二进制位

    2024-03-22 16:12:02       46 阅读
  5. Unity构建详解(1)——SBP介绍

    2024-03-22 16:12:02       46 阅读
  6. unity自动引用生成

    2024-03-22 16:12:02       45 阅读
  7. ChatGPT:如何利用人工智能写出高质量论文

    2024-03-22 16:12:02       42 阅读
  8. LeetCode刷题——347. 前 K 个高频元素

    2024-03-22 16:12:02       45 阅读
  9. 下载NLP_gluedata数据集的脚本

    2024-03-22 16:12:02       36 阅读