Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 网页包供应商第三方模块和babel loader_Javascript_Node.js_Ecmascript 6_Webpack_Bundler - Fatal编程技术网

Javascript 网页包供应商第三方模块和babel loader

Javascript 网页包供应商第三方模块和babel loader,javascript,node.js,ecmascript-6,webpack,bundler,Javascript,Node.js,Ecmascript 6,Webpack,Bundler,我的网页包构建有两个条目,即vendor.js=>vendor.js文件和index.js=>bundle.js 显然,vendor.js是所有第三方库所在的文件,index.js中有我的代码 我遇到了一些问题,我包括的许多第三方库(在vendor.js中)都不是从bundle.js执行的。为什么呢 我的网页包配置: import path from 'path'; var webpack = require('webpack'); var HtmlWebpackPlugin = requi

我的网页包构建有两个条目,即vendor.js=>vendor.js文件和index.js=>bundle.js

显然,vendor.js是所有第三方库所在的文件,index.js中有我的代码

我遇到了一些问题,我包括的许多第三方库(在vendor.js中)都不是从bundle.js执行的。为什么呢

我的网页包配置:

import path from 'path';

var webpack = require('webpack');

var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var CopyWebpackPlugin = require('copy-webpack-plugin');

var precss = require('precss');
var autoprefixer = require('autoprefixer');

module.exports = {
    entry: {
        bundle: './dev/index.js',
        vendor: './dev/vendor.js'
    },
    output: {
        path: path.join(__dirname, 'dist'),
        // publicPath: 'http://localhost:3000/',
        filename: '[name].[hash].js',
        chunkFilename: '[id].bundle.js'
    },
    externals: [
        {
            "./dev/assets/Paraxify/paraxify.js": "paraxify",
        }
    ],
    module: {
        loaders: [
            {
                test: /\.js$/,
                // exclude: path.resolve(__dirname, "node_modules"),
                loader: 'babel-loader',
                // exclude: [
                //  path.resolve(__dirname, "node_modules"),
                // ],
                query: { 
                    compact: true,
                    plugins: ["transform-es2015-modules-commonjs"],
                    presets: ['es2015', 'stage-0'] 
                }
            },
            {
                test: /\.scss$/,
                loader: ExtractTextPlugin.extract(
                    "style",
                    "css!postcss-loader!sass")
            },
            // { test: /jquery/, loader: 'expose?$!expose?jQuery' },
            { test: /\.jpg$/, loader: "file-loader?name=./assets/imgs/[name].jpg" },
            { test: /\.png$/, loader: "file-loader?name=./assets/imgs/[name].png" },
            { test: /\.(gif|woff|woff2|eot|ttf|svg)$/, loader: "url-loader" },
            // { test: /\grabbing.gif$/, loader: "url-loader" },
            // { test: /\preloader.gif$/, loader: "url-loader" },
            // { test: /\default-skin.svg$/, loader: "url-loader" },
            // { test: /\/default-skin.png$/, loader: "url-loader" }

            // { test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' }
        ]
    },

    postcss: function () {
        return [precss, autoprefixer];
    },


    plugins: [
        new CopyWebpackPlugin([
            { from: './dev/assets', to: 'assets' }
        ]),
        new CopyWebpackPlugin([
            { from: './dev/bootstrap3', to: 'bootstrap3' }
        ]),
        new webpack.optimize.CommonsChunkPlugin({
            name: ['bundle', 'vendor']
        }),
        new HtmlWebpackPlugin({
            hash: false,
            template: 'ejs!./dev/index.html',
            inject: 'body'
        }),
        new ExtractTextPlugin("styles.[hash].css"),
        new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: "jquery"
        }),
        // new webpack.ProvidePlugin({
        //  twentytwenty: "frontend/dev/assets/twentytwenty/js/jquery.twentytwenty"
        // })
    ]

};
问题示例:

import path from 'path';

var webpack = require('webpack');

var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var CopyWebpackPlugin = require('copy-webpack-plugin');

var precss = require('precss');
var autoprefixer = require('autoprefixer');

module.exports = {
    entry: {
        bundle: './dev/index.js',
        vendor: './dev/vendor.js'
    },
    output: {
        path: path.join(__dirname, 'dist'),
        // publicPath: 'http://localhost:3000/',
        filename: '[name].[hash].js',
        chunkFilename: '[id].bundle.js'
    },
    externals: [
        {
            "./dev/assets/Paraxify/paraxify.js": "paraxify",
        }
    ],
    module: {
        loaders: [
            {
                test: /\.js$/,
                // exclude: path.resolve(__dirname, "node_modules"),
                loader: 'babel-loader',
                // exclude: [
                //  path.resolve(__dirname, "node_modules"),
                // ],
                query: { 
                    compact: true,
                    plugins: ["transform-es2015-modules-commonjs"],
                    presets: ['es2015', 'stage-0'] 
                }
            },
            {
                test: /\.scss$/,
                loader: ExtractTextPlugin.extract(
                    "style",
                    "css!postcss-loader!sass")
            },
            // { test: /jquery/, loader: 'expose?$!expose?jQuery' },
            { test: /\.jpg$/, loader: "file-loader?name=./assets/imgs/[name].jpg" },
            { test: /\.png$/, loader: "file-loader?name=./assets/imgs/[name].png" },
            { test: /\.(gif|woff|woff2|eot|ttf|svg)$/, loader: "url-loader" },
            // { test: /\grabbing.gif$/, loader: "url-loader" },
            // { test: /\preloader.gif$/, loader: "url-loader" },
            // { test: /\default-skin.svg$/, loader: "url-loader" },
            // { test: /\/default-skin.png$/, loader: "url-loader" }

            // { test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' }
        ]
    },

    postcss: function () {
        return [precss, autoprefixer];
    },


    plugins: [
        new CopyWebpackPlugin([
            { from: './dev/assets', to: 'assets' }
        ]),
        new CopyWebpackPlugin([
            { from: './dev/bootstrap3', to: 'bootstrap3' }
        ]),
        new webpack.optimize.CommonsChunkPlugin({
            name: ['bundle', 'vendor']
        }),
        new HtmlWebpackPlugin({
            hash: false,
            template: 'ejs!./dev/index.html',
            inject: 'body'
        }),
        new ExtractTextPlugin("styles.[hash].css"),
        new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: "jquery"
        }),
        // new webpack.ProvidePlugin({
        //  twentytwenty: "frontend/dev/assets/twentytwenty/js/jquery.twentytwenty"
        // })
    ]

};
Vendor.js:导入Scrollreveal()

当我这样做时:
window.sr=ScrollReveal({reset:true})
对于全局可用的变量,我在浏览器控制台中得到一个错误:
未捕获类型错误:ScrollReveal不是一个函数

有人能解释一下我做错了什么吗?谢谢