设置 webpack 和 vue3
Posted
技术标签:
【中文标题】设置 webpack 和 vue3【英文标题】:setup webpack and vue3 【发布时间】:2021-04-09 14:13:49 【问题描述】:我正在尝试使用 webpack 和 typescript 设置 vue3。
目前我遇到的问题是每当我尝试运行webpack serve
时,浏览器控制台内都会出现警告:
runtime-core.esm-bundler.js:3413 You are running the esm-bundler build of Vue. It is recommended to configure your bundler to explicitly replace feature flag globals with boolean literals to get proper tree-shaking in the final bundle. See http://link.vuejs.org/feature-flags for more details.
我不明白。我的 webpack-config 如下:
const path = require("path")
module.exports =
mode: 'development',
entry: './src/index.ts',
devtool: 'inline-source-map',
module:
rules: [
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/,
,
],
,
resolve:
alias:
vue: "vue/dist/vue.esm-bundler.js"
,
extensions: ['.tsx', '.ts', '.js'],
,
output:
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
,
这是 tsconfig:
"compilerOptions":
"outDir": "./dist/",
"noImplicitAny": true,
"module": "es6",
"target": "es5",
"allowJs": true,
"moduleResolution": "node"
我想在没有此警告的情况下进行配置,然后继续支持 sfc!
【问题讨论】:
请查看***.com/a/64881079/8172857 查看本教程以了解没有 vue-cli 的 Vue v3 设置:frontendguruji.com/blog/… 【参考方案1】:来自您在错误中获得的链接。
构建将在不配置这些标志的情况下运行,但强烈建议正确配置它们以便在最终捆绑包中获得适当的 tree-shaking。
这应该可以解决您的问题。
const path = require("path");
const webpack = require('webpack');
module.exports =
mode: 'development',
entry: './src/index.ts',
devtool: 'inline-source-map',
module:
rules: [
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/,
,
],
,
resolve:
alias:
vue: "vue/dist/vue.esm-bundler.js"
,
extensions: ['.tsx', '.ts', '.js'],
,
output:
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
,
plugins: [
new webpack.DefinePlugin(
"__VUE_OPTIONS_API__": true,
"__VUE_PROD_DEVTOOLS__": false,
);
],
还有一点值得补充的是,@vue-cli 是 vue 项目的标准工具。
【讨论】:
以上是关于设置 webpack 和 vue3的主要内容,如果未能解决你的问题,请参考以下文章
使用 React 和 Webpack 设置 Airbnb ESLint
如何设置 webpack 以缩小和组合 scss 和 javascript 之类的 CodeKit?