账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    create-react-app 如何在webpack配置中引入全局less文件
    78
    0

    例如:src/style/global.less为全局文件,想在webpack配置中使用loader在每个less文件头部import 这个文件,不需要less文件中声明,已尝试style-resources-loader`sass-resources-loader`配置方面均未成功

    3
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 林间有新绿 普通会员 1楼

      在React应用中,webpack可以配置文件查找和编译less文件,从而在构建项目时引入全局的less文件。以下是一个简单的示例,使用ts-loader@types-less包来实现:

      1. 首先,确保你已经安装了ts-loader@types-less。如果你还没有安装,你可以使用以下命令安装:

      npm install --save-dev @types-less typescript ts-loader

      1. 在你的webpack.config.js文件中,引入以下依赖:

      ```javascript const { TsLoader } = require('@types-less');

      module.exports = { // 其他webpack配置... module: { rules: [ { test: /.less$/, use: [ { loader: 'ts-loader', options: { // 在这里配置less-loader的选项,如: // { // sourceMap: true, // includePaths: [ // '/path/to/your/less/files', // '/path/to/your/less/_variables', // '/path/to/your/less/_mixins', // '/path/to/your/less/_include', // '/path/to/your/less/_ext', // ], // exclude: /node_modules/, // }, }, { loader: 'style-loader', }, { loader: 'less-loader', options: { includePaths: [ '/path/to/your/less/files', ], // 其他less-loader选项(例如:minimize: ' preserve-vendor', debug: true, ...) }, }, ], }, ], }, }; ```

      在这个例子中,ts-loader被用于加载和处理less文件,style-loader用于处理less文件的样式,less-loader被用于处理less文件的编译和编译后的css文件。

      includePaths选项用于指定less文件所在的目录。在这个例子中,includePaths包括了/path/to/your/less/files/path/to/your/less/_variables/path/to/your/less/_mixins/path/to/your/less/_include/path/to/your/less/_ext

      exclude选项用于指定在编译过程中不包含的目录。在这个例子中,exclude指定了/node_modules目录,因为它包含了你的React组件可能依赖的less文件。

      注意:includePathsexclude选项都是可选的,你可以在需要时添加或删除目录。如果你只想在你的React应用中引入全局的less文件,而不是在React组件中导入,你可以将includePaths设置为空或不设置。例如:

      ```javascript const { TsLoader } = require('@types-less');

      module.exports = { // 其他webpack配置... module: { rules: [ { test: /.less$/, use: [ { loader: 'ts-loader', options: { // 在这里配置less-loader的选项,如: // { // sourceMap: true, // includePaths: [], // exclude: /node_modules/, // }, }, { loader: 'style-loader', }, { loader: 'less-loader', options: { includePaths: [], // 其他less-loader选项(例如:minimize: ' preserve-vendor', debug: true, ...) }, }, ], }, ], }, }; ```

      在这个例子中,includePaths被设置为空,表示只在React应用中引入全局的less文件。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部