123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- import { defineConfig, type UserConfigExport } from '@tarojs/cli'
- import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin'
- import { VueLoaderPlugin } from 'vue-loader'
- import { resolve } from 'path'
- import ComponentsPlugin from 'unplugin-vue-components/webpack'
- const NutUIResolver = () => {
- return (name) => {
- if (name.startsWith('Nut')) {
- const partialName = name.slice(3)
- return {
- name: partialName,
- from: '@nutui/nutui-taro',
- sideEffects: `@nutui/nutui-taro/dist/packages/${partialName.toLowerCase()}/style`,
- }
- }
- }
- }
- export default defineConfig({
- projectName: 'miniprogram-linejoy',
- date: '2023-4-3',
- designWidth: 375,
- deviceRatio: {
- 640: 2.34 / 2,
- 750: 1,
- 828: 1.81 / 2,
- 375: 2 / 1
- },
- sourceRoot: 'src',
- outputRoot: 'dist',
- plugins: ['@tarojs/plugin-html'],
- sass: {
- data: `
- @import "@nutui/nutui-taro/dist/styles/variables.scss";
- @import "src/assets/styles/variables.scss";
- @import "src/assets/styles/mixins.scss";
- `
- },
- defineConstants: {
- },
- copy: {
- patterns: [
- ],
- options: {
- }
- },
- framework: 'vue3',
- compiler: 'webpack5',
- cache: {
- enable: false // Webpack 持久化缓存配置,建议开启,默认配置请参考:https://docs.taro.zone/docs/config-detail#cache
- },
- mini: {
- postcss: {
- pxtransform: {
- enable: true,
- config: {
- }
- },
- url: {
- enable: true,
- config: {
- limit: 1024 // 设定转换尺寸上限
- }
- },
- cssModules: {
- enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
- config: {
- namingPattern: 'module', // 转换模式,取值为 global/module
- generateScopedName: '[name]__[local]___[hash:base64:5]'
- }
- }
- },
- webpackChain(chain) {
- chain.resolve.plugin('tsconfig-paths').use(TsconfigPathsPlugin)
- chain.plugin('unplugin-vue-components').use(
- ComponentsPlugin({
- resolvers: [NutUIResolver()],
- })
- )
- chain.resolve.alias
- .set('@', resolve(__dirname, '..', 'src'))
- }
- },
- h5: {
- publicPath: '/',
- staticDirectory: 'static',
- postcss: {
- autoprefixer: {
- enable: true,
- config: {
- }
- },
- cssModules: {
- enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
- config: {
- namingPattern: 'module', // 转换模式,取值为 global/module
- generateScopedName: '[name]__[local]___[hash:base64:5]'
- }
- }
- },
- webpackChain(chain) {
- chain.resolve.plugin('tsconfig-paths').use(TsconfigPathsPlugin)
- chain.plugin('unplugin-vue-components').use(
- ComponentsPlugin({
- resolvers: [NutUIResolver()],
- })
- )
- chain.resolve.alias
- .set('@', resolve(__dirname, '..', 'src'))
- }
- }
- })
|