Проект преобразован из веб-пакета 1 в 3 - сборка не работает?

Наткнулся на этот проект от Google, который я хотел попробовать запустить локально. Настроить webpack-dev-server и переехал webpack от 1.x до 3.x, чтобы запустить его. Я довольно новичок в настройке веб-пакета, но понял, что произошли некоторые критические изменения с 1.x до 3.x, и я думаю, что смог разобраться.

Запустив dev-сервер, я заметил, что некоторые важные стили отсутствуют. Стили присутствуют в head при проверке с помощью инструментов dev, но по какой-то причине они не применяются к элементам. Если я закомментирую sass-переменные и удалим вложение, оно будет работать так, как должно.

Мне любопытно, что я сделал неправильно и что мне нужно сделать, чтобы синтаксис sass работал в проекте. Мне кажется, что pre-css не делает то, что должен, но я не получаю сообщений об ошибках.

Вот webpack.config.js (для справки, вот версия 1.x)

var webpack = require('webpack');

var PROD = process.argv.indexOf('-p') !== -1

var precss = require('precss');
var calc = require("postcss-calc")
var autoprefixer = require('autoprefixer');

module.exports = {
    'context': __dirname,
    entry: {
        'Main': './src/FeatureTest',
    },
    output: {
        filename: './build/[name].js',
        chunkFilename: './build/[id].js',
        sourceMapFilename : '[file].map',
    },
    resolve: {
        modules : ['../third-party/Tone.js/', 'node_modules/tone', 'node_modules', 'src', 'third_party'],
    },
    plugins: PROD ? [
        new webpack.optimize.UglifyJsPlugin({minimize: true}),
      ] : [],
    module: {
        rules: [
            {
                test: /\.css$/,
                use: [
              {
                loader: 'style-loader' // Adds CSS to the DOM by injecting a <style> tag
              },
              {
                loader: 'css-loader' //  interprets @import and url() like import/require() and will resolve them.
              },
              {
                loader: 'postcss-loader', // postcss loader so we can use autoprefixer
                options: {
                  postcss: [
                    precss(),
                    autoprefixer({
                      browsers: [
                        'last 3 version',
                        'ie >= 10',
                      ],
                    }),
                    calc(),
                  ],
                },
              },
            ],
      },
            {
                test: /\.json$/,
                loader: 'json-loader'
            },
            {
                test: /\.js$/,
                exclude: /(node_modules|Tone\.js)/,
                loader: 'babel-loader', // 'babel-loader' is also a legal name to reference
                query: {
                    presets: ['es2015']
                }
            },
            {
                test: /\.(png|gif|jpg|svg)$/,
                loader: 'url-loader',
            },
            {
                test   : /\.(ttf|eot|woff(2)?)(\?[a-z0-9]+)?$/,
                loader : 'file-loader?name=images/font/[hash].[ext]'
                // loader : 'file-loader'
            }
        ]
    },
    /*postcss: function () {
        return [precss, autoprefixer, calc];
    },*/
    devtool: PROD ? '' : '#eval-source-map'
};

А вот и мой package.json

{
  "name": "giorgio-cam",
  "version": "1.0.0",
  "description": "",
  "main": "index.html",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --config webpack.config.js",
    "start": "webpack-dev-server"
  },
  "author": "Yotam Mann",
  "dependencies": {
    "autoprefixer": "^6.3.7",
    "babel-core": "^6.11.4",
    "babel-loader": "^6.2.4",
    "babel-preset-es2015": "^6.9.0",
    "css-loader": "^0.23.1",
    "domready": "^1.0.8",
    "exports-loader": "^0.6.3",
    "file-loader": "^0.9.0",
    "is-mobile": "^0.2.2",
    "knuth-shuffle": "^1.0.1",
    "postcss-calc": "^5.3.0",
    "postcss-loader": "^0.9.1",
    "precss": "^1.4.0",
    "screenfull": "^3.0.2",
    "startaudiocontext": "^1.2.0",
    "style-loader": "^0.13.1",
    "three": "^0.81.0",
    "tone": "^0.8.0",
    "tween.js": "^16.3.5",
    "url-loader": "^0.5.7",
    "visibilityjs": "^1.2.4",
    "webpack": "3.8.1",
    "webrtc-adapter": "^2.0.3",
    "youtube-iframe": "^1.0.3"
  },
  "devDependencies": {
    "node-sass": "^4.6.0",
    "postcss": "^6.0.14",
    "postcss-scss": "^1.0.2",
    "precss": "^1.4.0",
    "sass-loader": "^6.0.6",
    "webpack": "^3.8.1",
    "webpack-dev-server": "^2.9.4"
  }
}

0 ответов

Другие вопросы по тегам