2017-02-16 18 views
6

tôi đang cố gắng, trong es6, nhập các tập tin jsx mà không đòi hỏi phần mở rộng .jsx:Eslint errorring nhập khẩu jsx mà không cần mở rộng

import LoginErrorDialog from './LoginErrorDialogView'; 

Không:

import LoginErrorDialog from './LoginErrorDialogView.jsx'; 

Trong khi tôi đã có webpack nhập khẩu trong thời trang này thành công:

export default { 
    entry: './src/ui/js/app.js', 
    output: { 
    publicPath: '/', 
    filename: 'bundle.js' 
    }, 
    resolve: { 
    extensions: ['.js', '.jsx'], 

Eslint (esw webpack.config.* ./ --color --ext .js --ext .jsx) vẫn đang bị lỗi.

Unable to resolve path to module './LoginView' import/no-unresolved

Bất kỳ ý tưởng nào?

+1

Tôi tin rằng không phải là một lỗi webpack, đó là eslint kể bạn không thể tìm thấy đường dẫn đến 'LoginView'. Xem https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-unresolved.md – redconservatory

+0

@redconservatory Tôi đồng ý, vấn đề tôi đang tìm kiếm là tôi không thể có eslint nhận ra jsx các tệp và kết quả là phải bỏ qua dòng. Tôi đã đặt JSX thành true trong tệp eslint của mình, nhưng nó vẫn nhận ra các tệp. – gazzwi86

+0

Vì vậy, nếu bạn đã cài đặt eslint trên toàn cầu, bạn cũng phải cài đặt 'eslint-plugin-react' trên toàn cầu cho' jsx: true' để hoạt động (WTF !?). Nếu đó là một dự án cá nhân, tôi khuyên bạn nên cài đặt JS Standard thay thế. Nếu đó là một dự án làm việc, tôi sẽ không sử dụng các mô đun nút chung và chỉ cài đặt 'eslint' và' eslint-plugin-react' vào dự án của bạn ... nếu bạn đang sử dụng một trình soạn thảo như 'Sublime' hoặc' Atom' bạn có thể cần phải đi sâu vào các thiết lập lint cục bộ ... – redconservatory

Trả lời

4

Tôi đã gặp vấn đề tương tự ở đây và tôi đã cố thêm cấu hình bổ sung trong .eslint của mình.

Mở rộng tài sản thêm:

"plugin:import/react" 

Thiết sở hữu thêm:

"import/resolver": { 
    "node": { 
    "extensions": [".js",".jsx"] 
    } 
} 

.eslint của bạn sẽ tương tự:

{ 
    "extends": [ 
     ... 
     "plugin:import/react", 
     ... 
    ], 
    ... 
    "settings": { 
     "import/resolver": { 
      "node": { 
      "extensions": [".js",".jsx"] 
      } 
     } 
    }, 
... 
} 
Các vấn đề liên quan