我的版本适用于Chrome,Safari和Opera,但在Firefox中有所不同
我使用的是React,Webpack和Sass。
我得到的控制台错误是:
TypeError: wrappedCompareFn is not a function bundle.js:39813:24
和
TypeError: node is null bundle.js:7865:1
下面我已经在我的package.json中包含了我的webpack文件和依赖项。任何帮助我们将不胜感激。
的WebPack:
const path = require('path');
const webpack = require('webpack');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const autoprefixer = require('autoprefixer');
module.exports = {
context: __dirname,
debug: true,
devtool: 'cheap-module-source-map',
entry: './client/src/App.jsx',
output: {
path: path.join(__dirname, './client/public'),
filename: 'bundle.js',
},
resolve: {
extensions: ['', '.js', '.jsx', '.json'],
},
externals: {
},
stats: {
colors: true,
reasons: true,
chunks: false,
},
plugins: [
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
// new BundleAnalyzerPlugin(),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production'),
},
}),
],
module: {
preLoaders: [
{
test: /\.jsx$/,
loader: 'babel-loader',
exclude: /node-modules/,
},
],
noParse: [
/plotly\.js/,
],
loaders: [
{
test: /\.styl$/,
loader: 'style-loader!css-loader!stylus-loader',
},
{
test: /\.scss$/,
loader: 'style-loader!css-loader!postcss-loader!sass-loader',
},
{
test: /\.jsx?$/,
loader: 'babel-loader',
},
{
test: /\.json$/,
loader: 'json-loader',
},
{
test: /\.(jpe?g|png|gif|svg|ico|ttf)$/i,
loader: 'file-loader',
},
],
},
postcss: [autoprefixer({ browsers: ['last 2 versions'] })],
watch: false,
};
package.json依赖项:
"dependencies": {
"bluebird": "^3.4.6",
"classnames": "^2.2.5",
"connect-history-api-fallback": "^1.3.0",
"dotenv": "^2.0.0",
"express": "^4.14.0",
"http-status-codes": "^1.0.6",
"koa": "^1.2.4",
"koa-add-trailing-slashes": "^1.1.0",
"koa-basic-auth": "^1.1.2",
"koa-jwt": "^1.2.0",
"koa-mount": "^1.3.0",
"koa-route": "^2.4.2",
"koa-static": "^2.0.0",
"material-ui": "^0.16.2",
"materialize-css": "^0.97.8",
"moment": "^2.15.2",
"pm2": "^2.1.6",
"react": "^15.4.0",
"react-dom": "^15.4.0",
"react-materialize": "^0.17.0",
"react-redux": "^4.4.5",
"react-router": "^3.0.0",
"react-tap-event-plugin": "^2.0.0",
"react-tooltip": "^3.2.2",
"redux": "^3.6.0"
},
"devDependencies": {
"autofixture": "^0.1.2",
"autoprefixer": "^6.5.4",
"babel-core": "^6.18.0",
"babel-eslint": "^6.1.2",
"babel-jest": "^16.0.0",
"babel-loader": "^6.2.7",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"babel-preset-stage-0": "^6.16.0",
"babel-register": "^6.18.0",
"bluebird": "^3.4.6",
"chai": "^3.5.0",
"child_process": "^1.0.2",
"co-supertest": "0.0.10",
"concurrently": "^3.1.0",
"css-loader": "^0.25.0",
"enzyme": "^2.5.1",
"eslint": "^3.9.1",
"eslint-config-airbnb": "^12.0.0",
"eslint-plugin-import": "^2.0.1",
"eslint-plugin-jsx-a11y": "^2.2.3",
"eslint-plugin-react": "^6.4.1",
"file-loader": "^0.9.0",
"gulp": "^3.9.1",
"gulp-batch": "^1.0.5",
"gulp-debug": "^2.1.2",
"gulp-eslint": "^3.0.1",
"gulp-exit": "0.0.2",
"gulp-jest": "^0.6.0",
"gulp-mocha": "^3.0.1",
"gulp-notify": "^2.2.0",
"gulp-plumber": "^1.1.0",
"gulp-run": "^1.7.1",
"gulp-tap": "^0.1.3",
"gulp-testcafe": "^0.9.0",
"gulp-watch": "^4.3.11",
"gulp-webserver": "^0.9.1",
"jest": "^16.0.2",
"jquery": "^3.1.1",
"json-loader": "^0.5.4",
"live-server": "^1.1.0",
"lodash": "^4.16.6",
"materialize-css": "^0.97.8",
"mocha": "^3.1.2",
"node-materialize": "^1.1.1",
"node-sass": "^3.11.2",
"postcss-loader": "^1.2.1",
"react-addons-test-utils": "^15.4.0",
"react-test-renderer": "^15.4.0",
"request-promise": "^4.1.1",
"require-dir": "^0.3.1",
"sass": "^0.5.0",
"sass-loader": "^4.0.2",
"sass-rem": "^1.2.3",
"sinon": "^1.17.6",
"style-loader": "^0.13.1",
"stylus": "^0.54.5",
"stylus-loader": "^2.3.1",
"supertest": "^2.0.1",
"supertest-koa-agent": "^0.3.0",
"testcafe": "^0.9.0",
"webpack": "^1.13.3",
"webpack-bundle-analyzer": "^2.1.1",
"webpack-dev-server": "^1.16.2"
},
"jest": {
"moduleFileExtensions": [
"js",
"jsx"
],
"moduleNameMapper": {
"^.+\\.(css|styl|scss)$": "<rootDir>/test/mocks/styleMock.js",
"^.+\\.(gif|ttf|eot|svg)$": "<rootDir>/test/mocks/fileMock.js"
},
"moduleDirectories": [
"node_modules"
],
"scriptPreprocessor": "<rootDir>/node_modules/babel-jest",
"testPathDirs": [
"test/ui"
],
"testRegex": ".*-tests\\.(js|jsx)$"
}
}