首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grunt-babel不是传输父文件夹,而是对jsx文件作出反应。

grunt-babel不是传输父文件夹,而是对jsx文件作出反应。
EN

Stack Overflow用户
提问于 2018-01-28 09:20:34
回答 1查看 357关注 0票数 2

我正在使用grunt来传输react文件,它使用grunt-babel和预设:"env“、"react”、plugins:“transform- as 2015-modules amd”,工作得很好。

我遇到的问题是,grunt-babel文件,这些文件放在同一个目录中,但我需要将JSX文件转到根文件夹directory.Below的一个级别,这是详细的解释:

文件夹结构:

ReactApp

代码语言:javascript
复制
     - App                // grunt-babel and relevant plug-ins, presets installed here

          - config
          - node_modules
          - JSX            // it's transpiling and working
               - test.jsx
          - JSX_generated
               - test.js
          - gruntfile
          - package

     - JSX               // jsx file source and it's not transpiling
          - test.jsx

     - JSX_generated    // transpiled jsx file output expected
          - test.js

     - App.js
     - index.html  

gruntfile:

代码语言:javascript
复制
module.exports = function (grunt) {
'use strict';
grunt.initConfig({
    babel: {
        options: {
            sourceMap: false,
            presets: ["env", "react"],
            plugins: ["transform-es2015-modules-amd"]
        },
        dist: {
            files: [{
                expand: true,
                cwd: './JSX',
                src: ['*.jsx'],
                dest: './JSX_generated',
                ext: '.js'
            }]
        }
    }
});
grunt.loadNpmTasks('grunt-babel');
grunt.registerTask('default', ['babel']);};

上面的grunt配置对放在App文件夹下的jsx文件夹来说很好,事情是我需要转移放在App文件夹之外的JSX文件夹。

将grunt配置cwd改为cwd:‘././JSX’ dest:././JSX_generated‘

获取以下错误:运行"babel:jsx“(babel)任务警告:未知插件”transform- to 2015-modules amd“在"base”中指定为0,试图相对于"../JSX“进行解析

示例jsx文件:

代码语言:javascript
复制
import React from 'react'; 
import AppData from './AppData';
import Loader from './Loader';

class Test extends React.Component {
    render() { 
       return <p>hello </p>
    }
 }

 ReactDOM.render(<Test />, document.getElementById('container'));

是否有一种方法可以将文件从咕噜或节点安装到一个级别?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-23 07:04:55

对于任何有类似问题的人,解决方案是使用

代码语言:javascript
复制
 absolute paths
../Users/app/node_modules/babel-preset-es2015

或使用要求如下:

代码语言:javascript
复制
var babelenv = require('babel-preset-env');
var babelreact = require('babel-preset-react');
var babelamd = require('babel-plugin-transform-es2015-modules-amd');

presets: [ babelenv, babelreact],plugins : [ babelamd ]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48484841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档