Это мой модуль.Реальный проект простой импорт не работает
src/components/Experiment.jsx
import React from 'react';
class Experiment extends React.Component {
render() {
if (Array.isArray(this.props.children)) {
const activeVariant = this.props.children.filter((c) => {
return c.props.id === this.props.activeVariant;
});
return (
<div>
{activeVariant}
</div>
);
}
return (
<div>
{this.props.children}
</div>
);
}
};
export default Experiment;
Это простой модуль, и он работает на собственном репозитории. Как у меня есть тест, и все работает нормально.
Однако, как только я опубликовал проект в частном номере и начал его использовать. Я получаю эту ошибку.
SyntaxError: Unexpected reserved word
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:414:25)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (/Users/ncharass/MyProjects/CN/project/lib/app/views/pages/app/views/pages/article.js:16:1)
И это импорт линия
import Experiment from '@organization/project/src/components/Experiment.jsx';
Если я изменил путь к только Experiment
без jsx
я Cannot find module
так что я знаю, что он нашел модуль, но я не знаю, почему это было бы ошибка вне такой.
Я использую webpack, и это конфиг.
'use strict';
var path = require('path');
var webpack = require('webpack');
var env = process.env.NODE_ENV || 'development';
module.exports = {
devtool: env === 'development' ? '#cheap-inline-source-map' : '',
module: {
loaders: [
{
test: /\.json$/,
loader: 'json-loader'
},
{
test: /\.(js|jsx)$/,
loader: 'babel-loader',
include: [
/config/,
/src/
],
query: {
babelrc: false,
presets: [
'es2015-webpack',
'react'
]
}
},
{
test: /\.(js|jsx)$/,
loader: 'transform?envify',
cacheable: true
}
]
},
resolve: {
extensions: ['', '.js', '.jsx'],
modules: [
path.resolve('./src'),
'./node_modules'
]
},
plugins: env !== 'development' ? [
new webpack.optimize.DedupePlugin(),
new webpack.LoaderOptionsPlugin({
minimize: true,
debug: false
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false,
unused: true,
dead_code: true //eslint-disable-line camelcase
},
output: {
comments: false
},
sourceMap: true
})
] : null
};