广州shopify代建站,商讨网站建设新闻稿,整合网络营销外包,大美互助app注#xff1a;由于前端更新非常快#xff0c;写这篇文章时 create-react-app 使用的版本是1.4.1 最新的使用流程请参照官方文档。create-react-app 是facebook推出的快速创建react项目的命令行工具。 他和 vue-cli 类似。开箱即用#xff0c;不用改一行配置就可以开发出针对… 注由于前端更新非常快写这篇文章时 create-react-app 使用的版本是1.4.1 最新的使用流程请参照官方文档。create-react-app 是facebook推出的快速创建react项目的命令行工具。 他和 vue-cli 类似。开箱即用不用改一行配置就可以开发出针对开发和生产环境的react项目。 比如针对开发环境有eslint语法检测热重载带有proxy server等功能。 这些东西大多要归功于webpack的功劳。 默认情况下webpack配置文件不会暴露出来这不满足我当前的需求比如这里我喜欢用 stylus(一个类似lesssass的样式预处理器)。stylus 和 sass 类似支持变量mixin函数等功能而且连括号分号都不用写。用缩进区分。 create-react-app 支持执行 npm run reject 将相关配置文件释放到根目录下。注意这里是不可逆操作。 官网的 readme 中有怎么添加 sass 和 less 的教程 没有讲如何添加 stylus 支持其实这也难不倒咱。 具体步骤如下 项目根目录执行 npm run reject会发现多出来个 config 目录里面的各个配置文件都带有详尽的注释安装 stylus 相关依赖执行 npm install stylus stylus-loader --save-dev 或 yarn add stylus stylus-loader 打开 config\webpack.config.dev.js 我们让webpack支持解析 styl 格式的文件 在 module-rules-oneOf 组下面添加 {test: /\.styl$/,use: [require.resolve(style-loader),require.resolve(css-loader),require.resolve(stylus-loader)]},image.png 打开 webpack.config.prod.js 添加如下(这是我参考下面的针对的css配置需要更进一步测试)这是因为prod环境下所有的css都被 ExtractTextPlugin 插件提取到同一个样式文件中开发环境则是动态的创建style标签并插入到html的header中。 {test: /\.styl$/,loader: ExtractTextPlugin.extract(Object.assign({fallback: require.resolve(style-loader),use: [{loader: require.resolve(css-loader),options: {importLoaders: 1,minimize: true,sourceMap: shouldUseSourceMap,},},{loader: require.resolve(stylus-loader),}],},extractTextPluginOptions)),// Note: this wont work without new ExtractTextPlugin() in plugins.},新建目录 src\static\styl 并创建 base.styl 内容如下bodymargin: 0padding: 0background-color: #f1f1f1*margin: 0padding: 0box-sizing: border-boxfont-family: 微软雅黑,Times New Roman,Georgia,Serif
atext-decoration: none打开 src\index.js添加 import ./static/styl/index.styl; 最后重新执行 npm run start 或 yarn start 就能看到样式变化了。参考https://cn.vuejs.org/v2/guide/comparison.html#React